Whamcloud - gitweb
LU-13799 osc: Simplify clipping for transient pages
authorPatrick Farrell <farr0186@gmail.com>
Fri, 7 May 2021 15:38:07 +0000 (11:38 -0400)
committerAndreas Dilger <adilger@whamcloud.com>
Fri, 13 Aug 2021 00:18:55 +0000 (00:18 +0000)
commit14ae2c782d6f8b580e56ebe4cad12c5fb71d1f4c
treea0804aac4d711128383fd6f402db99861b6b6f8d
parent47c87f89f95182e9177ef8a937ccb9da6e1a8096
LU-13799 osc: Simplify clipping for transient pages

The combination of page clip and page flag setting for
transient pages takes up several % of the time when
submitting them for async DIO.

But neither is required - Transient pages do not change
after creation except in limited cases, and in any case,
they are only accessible from the submitting thread -
there is no possibility of parallel access.

So we can set the page flags, etc, at init time.

This patch improves i/o time in ms/GiB by:
Write: 17 ms/GiB
Read: 22 ms/GiB

Totals:
Write: 204 ms/GiB
Read: 198 ms/GiB

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

With previous patches in series:
write     4647 MiB/s
read      4888 MiB/s

Plus this patch:
write     5030 MiB/s
read      5174 MiB/s

Lustre-change: https://review.whamcloud.com/39440
Lustre-commit: b64b9646f17b771c415e4b39cb8babcdc7541b30

Signed-off-by: Patrick Farrell <farr0186@gmail.com>
Change-Id: I974ebb0f55734a8628f1f7e1c01092eb2ce5f83b
Reviewed-on: https://review.whamcloud.com/39440
Reviewed-by: Wang Shilong <wshilong@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/44441
Reviewed-by: Bobi Jam <bobijam@hotmail.com>
lustre/include/lustre_osc.h
lustre/llite/rw26.c
lustre/osc/osc_cache.c
lustre/osc/osc_io.c
lustre/osc/osc_page.c