Whamcloud - gitweb
LU-18252 llite: do not unplug the queue on each page 49/56449/6
authorAlex Zhuravlev <bzzz@whamcloud.com>
Sat, 21 Sep 2024 11:07:22 +0000 (14:07 +0300)
committerOleg Drokin <green@whamcloud.com>
Thu, 2 Jan 2025 20:48:38 +0000 (20:48 +0000)
commitaa684fda2d244076e787997dcb42166de216344c
tree1470f9841e25d931e3140c17b0e954840bffc180
parent61a01fd9b6894ecee17d2cfe9f52aa7748f89045
LU-18252 llite: do not unplug the queue on each page

for sync IO ll_write_end() calls into vvp_io_write_commit() at
every page. this get us to:

/* for sync write, kernel will wait for this page to be flushed
 * osc_io_end() is called, so release it earlier.
 * for mkwrite(), it's known there is no further pages. */
if (cl_io_is_sync_write(io) && oio->oi_active != NULL) {
osc_extent_release(env, oio->oi_active);
oio->oi_active = NULL;
}

ptlrpcd can be quick enough to intercept current (just reset) extent
and start to process that while the original is still continuing.

in the end this can result in suboptimal RPCs.

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ie53d0cc7bb52a7ec12b39cfe3da86a623bf03f12
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/56449
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Qian Yingjin <qian@ddn.com>
Reviewed-by: Alexey Lyashkov <alexey.lyashkov@hpe.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lustre/llite/rw26.c