Whamcloud - gitweb
LU-13799 llite: Adjust dio refcounting
authorPatrick Farrell <pfarrell@whamcloud.com>
Tue, 17 Aug 2021 15:54:01 +0000 (11:54 -0400)
committerLi Xi <lixi@ddn.com>
Tue, 17 Aug 2021 16:29:38 +0000 (16:29 +0000)
commit8a31964534358dd1a5db6cf86b9c6014d3c98d48
tree65577d381568a3c94907375bf1b1e5450f4a1770
parentc2aa329bc98aa24171cadfce734114bd0cb9bb37
LU-13799 llite: Adjust dio refcounting

We get a page reference in cl_page_find, then immediately
add another for cl_2queue_add and remove the first
reference.  This is pretty silly, since the life cycle is
the same on these.

This improves DIO/AIO page submission by around 2%.

This patch reduces i/o time in ms/GiB by:
Write: 2 ms/GiB
Read: 2 ms/GiB

Totals:
Write: 170 ms/GiB
Read: 162 ms/GiB

mpirun -np 1  $IOR -w -r -t 64M -b 64G -o ./iorfile --posix.odirect

With previous pa5ches in series:
write        5955 MiB/s
read         6218 MiB/s

Plus this patch:
write        6028 MiB/s
read         6305 MiB/s

Lustre-change: https://review.whamcloud.com/39447
Lustre-commit: 1e4d10af3909452b0eee1f99010d80aeb01d42a7

Signed-off-by: Patrick Farrell <pfarrell@whamcloud.com>
Change-Id: I228eca6d48c6007bbf2c8caae5e477b7d40521d1
Reviewed-on: https://review.whamcloud.com/44446
Reviewed-by: Li Xi <lixi@ddn.com>
Tested-by: Li Xi <lixi@ddn.com>
lustre/include/cl_object.h
lustre/llite/llite_lib.c
lustre/llite/rw.c
lustre/llite/rw26.c
lustre/llite/vvp_io.c
lustre/llite/vvp_page.c
lustre/obdclass/cl_io.c
lustre/obdecho/echo_client.c