Whamcloud - gitweb
LU-11775 osc: reduce lock contention in osc_unreserve_grant 58/33858/6
authorLi Dongyang <dongyangli@ddn.com>
Fri, 14 Dec 2018 01:19:09 +0000 (12:19 +1100)
committerOleg Drokin <green@whamcloud.com>
Tue, 25 Jun 2019 01:54:15 +0000 (01:54 +0000)
commit8a1ae45a3e4f828346c890bf4ccacbd68ea6752c
tree73a82c8c8c89765815ea9924b4bee00e3abcd604
parent43b35351e9ca258773e89c2d68047e939fb822fb
LU-11775 osc: reduce lock contention in osc_unreserve_grant

In osc_queue_async_io() the cl_loi_list_lock is acquired to reserve
and consume the grant and released, right after we expand the extent
the same lock is used to unreserve the grant.
We can keep the spinlock when we are done with the grant to improve
the throughput.

mpirun  -np 32 /root/ior-openmpi/src/ior -w -t 1m -b 8g -F -e -vv
-o /scratch0/file -i 1
master:
Max Write: 13799.70 MiB/sec (14470.04 MB/sec)
master with 33858:
Max Write: 14339.57 MiB/sec (15036.13 MB/sec)

Signed-off-by: Li Dongyang <dongyangli@ddn.com>
Change-Id: Ic61af84c7b98b5a189d7adabe33ae687954b2ed4
Reviewed-on: https://review.whamcloud.com/33858
Tested-by: Jenkins
Reviewed-by: Patrick Farrell <pfarrell@whamcloud.com>
Reviewed-by: Alexey Lyashkov <c17817@cray.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/osc/osc_cache.c