Whamcloud - gitweb
LU-13799 llite: Remove unnecessary page get/put
authorPatrick Farrell <pfarrell@whamcloud.com>
Wed, 19 Jan 2022 15:49:36 +0000 (10:49 -0500)
committerAndreas Dilger <adilger@whamcloud.com>
Wed, 9 Mar 2022 17:19:32 +0000 (17:19 +0000)
commit45cb47726602a40949b38f957ffadcc80c1d306c
tree0dee3c99257096881683977f63de7aaf8dae5604
parent46c6dc75f53539225c0ef28301972a2b80efa0df
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.

Lustre-change: https://review.whamcloud.com/44293
Lustre-commit: c2e94f08cf3ff000b350faf61b6d25ebbad7970e

Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: Ia9e7bf4a331a5220bfb1eab43493ac5fda59c611
Reviewed-on: https://review.whamcloud.com/44688
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lustre/obdclass/cl_io.c