Whamcloud - gitweb
LU-13520 ldiskfs: fastpath in bitmap prefetching 13/38513/8
authorAlex Zhuravlev <bzzz@whamcloud.com>
Wed, 6 May 2020 12:25:32 +0000 (15:25 +0300)
committerOleg Drokin <green@whamcloud.com>
Sat, 6 Jun 2020 14:02:55 +0000 (14:02 +0000)
commit6a15798f51a9dcb29333e8107a59c5551f607fff
tree2eb9444bab699a3b8974ed9b12b379139752d1f6
parentb447395e09b56393a20801a2bc7c545fe001ca7c
LU-13520 ldiskfs: fastpath in bitmap prefetching

getblk() can be very expensive if many threads are trying to find
specific block which can happen when threads are trying to prefetch
same set of block bitmaps (where only the one wins). use atomic
bitset to prevent this situation.

# mpirun -np 640 mdtest -D -C -r -u -n 1000 -vv -p 10 -i 3 -d /mdt0
               Max        Min        Mean       Std Dev
before b7cd65  76243.849  62728.925  69264.981  5525.345
after b7cd65   44270.444  42144.617  43138.707   873.040
this patch     83171.845  71796.197  77274.256  4652.121

Fixes: b7cd65a3d1 ("LU-12988 ldiskfs: mballoc to prefetch groups")
Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I3194aa0e13f22a1f34f5df846cb4b15feba5f432
Reviewed-on: https://review.whamcloud.com/38513
Tested-by: jenkins <devops@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Reviewed-by: Artem Blagodarenko <artem.blagodarenko@hpe.com>
ldiskfs/kernel_patches/patches/rhel7.6/ext4-mballoc-prefetch.patch
ldiskfs/kernel_patches/patches/rhel7.7/ext4-mballoc-prefetch.patch
ldiskfs/kernel_patches/patches/rhel8.1/ext4-mballoc-prefetch.patch
ldiskfs/kernel_patches/patches/rhel8/ext4-mballoc-prefetch.patch