Whamcloud - gitweb
LU-14139 llite: simplify callback handling for async getattr 12/40712/11
authorQian Yingjin <qian@ddn.com>
Thu, 19 Nov 2020 15:15:37 +0000 (23:15 +0800)
committerOleg Drokin <green@whamcloud.com>
Thu, 8 Jul 2021 02:04:56 +0000 (02:04 +0000)
commitcbaaa7cde45f59372c75577d7274f7e2e38acd24
treeab9c1e91d96c36c0a9fc1eec10a4042f8029c83a
parent5c98de856618f301035c7579e61fffa10cc726cc
LU-14139 llite: simplify callback handling for async getattr

In this patch, it prepares the inode and set lock data directly in
the callback interpret of the intent async getattr RPC request (in
ptlrpcd context), simplifies the old impementation that defer this
work in the statahead thread.

According to the benchmark result, the workload "ls -l" to a large
directory on a client without any caching (server and client),
containing 1M files (47001 bytes) shows the results with measured
elapsed time:
- w/o patch: 180 seconds;
- w patch: 181 seconds;

There is no any obvious performance regession.

Change-Id: Ifcfad3eb26d831bec3beea0c3d7045f31d35fa6a
Signed-off-by: Qian Yingjin <qian@ddn.com>
Reviewed-on: https://review.whamcloud.com/40712
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/obd.h
lustre/include/obd_class.h
lustre/llite/llite_internal.h
lustre/llite/statahead.c
lustre/lmv/lmv_obd.c
lustre/mdc/mdc_internal.h
lustre/mdc/mdc_locks.c