Whamcloud - gitweb
LU-13799 clio: Implement real list splice
authorPatrick Farrell <farr0186@gmail.com>
Fri, 7 May 2021 15:37:40 +0000 (11:37 -0400)
committerAndreas Dilger <adilger@whamcloud.com>
Fri, 13 Aug 2021 17:07:13 +0000 (17:07 +0000)
commit633b061477520c91c8fea9ef844b9ee0539a9681
tree7d50fe8ba90ddd30bbdb950a032d866a8b6c917e
parent23bee2a9936ab63972fa779b910812fff0e06ad9
LU-13799 clio: Implement real list splice

Lustre's list_splice is actually just a slightly
depressing list_for_each; let's use a real list_splice.

This saves significant time in AIO/DIO page submission,
getting a several % performance boost.

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

Totals:
Write: 220 ms/GiB
Read: 209 ms/GiB

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

With previous patches in series:
write     4326 MiB/s
read      4587 MiB/s

With this patch:
write     4647 MiB/s
read      4888 MiB/s

Lustre-change: https://review.whamcloud.com/39439
Lustre-commit: dfe2d225b86d4215cbd09e863e8de7547f0d4dae

Signed-off-by: Patrick Farrell <farr0186@gmail.com>
Change-Id: Icfd4a3d9dd6f162b011b402a1c88d7dae53eff40
Reviewed-on: https://review.whamcloud.com/39439
Reviewed-by: Wang Shilong <wshilong@whamcloud.com>
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/44440
lustre/obdclass/cl_io.c