Whamcloud - gitweb
LU-13799 llite: Remove unnecessary page get/put 93/44293/8
authorPatrick Farrell <pfarrell@whamcloud.com>
Fri, 30 Jul 2021 16:15:20 +0000 (12:15 -0400)
committerOleg Drokin <green@whamcloud.com>
Wed, 26 Jan 2022 05:14:47 +0000 (05:14 +0000)
commitc2e94f08cf3ff000b350faf61b6d25ebbad7970e
treea78dd19cba681026e4ba8ee43a9313488ed166c3
parent54d4cca6cb0c92a09b364974438d91d4331a036f
LU-13799 llite: Remove unnecessary page get/put

Part of the aio cleanup code has the slightly strange
behavior of doing get on every page before calling page
cleanup, then doing a put after.

This was required because we call cl_page_list_del before
calling cl_page_delete, and cl_page_list_del was holding
the last reference on the page struct.

If we reverse the order, then we don't need the extra
get/put to keep the pages live.  This should save
significant CPU time in the ptlrpcd threads when finishing
i/o, since this removes a get/put on every page.

Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I3b1639061d775faa43c91e2d0a0f209f2d0df10c
Reviewed-on: https://review.whamcloud.com/44293
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Yingjin Qian <qian@ddn.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/obdclass/cl_io.c