Whamcloud - gitweb
LU-14958 kernel: use rhashtable for revoke records in jbd2 22/45122/56
authorAlex Zhuravlev <bzzz@whamcloud.com>
Tue, 11 Oct 2022 11:59:48 +0000 (14:59 +0300)
committerOleg Drokin <green@whamcloud.com>
Wed, 8 Mar 2023 03:27:42 +0000 (03:27 +0000)
commitc3bb2b778d6b40a5cecb01993b55fcc107305b4a
tree084daba553a6223230f3020642f9e6e71745fb83
parentb338ad1e4279090bce87b0b714025c923bad0953
LU-14958 kernel: use rhashtable for revoke records in jbd2

resizable hashtable should improve journal replay time when
the latter has got million of revoke records. notice that
rhashtable is used during replay only as removal with list_del()
is less expensive and it's used a lot during regular processing.

before:
1048576 records - 95 seconds
2097152 records - 580 seconds

after:
1048576 records - 2 seconds
2097152 records - 3 seconds
4194304 records - 7 seconds

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: I9a9e3801223fa9e36cbf6d2ef5ddbad5dff3e19d
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/45122
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: jsimmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Andrew Perepechko <andrew.perepechko@hpe.com>
16 files changed:
lustre/kernel_patches/patches/jbd2-revoke-rhashtable-rhel7.patch [new file with mode: 0644]
lustre/kernel_patches/patches/jbd2-revoke-rhashtable-rhel8.4.patch [new file with mode: 0644]
lustre/kernel_patches/series/3.10-rhel7.6.series
lustre/kernel_patches/series/3.10-rhel7.7.series
lustre/kernel_patches/series/3.10-rhel7.8.series
lustre/kernel_patches/series/3.10-rhel7.9.series
lustre/kernel_patches/series/4.14-rhel7.5.series
lustre/kernel_patches/series/4.14-rhel7.6.series
lustre/kernel_patches/series/4.18-rhel8.1.series
lustre/kernel_patches/series/4.18-rhel8.2.series
lustre/kernel_patches/series/4.18-rhel8.3.series
lustre/kernel_patches/series/4.18-rhel8.4.series
lustre/kernel_patches/series/4.18-rhel8.5.series
lustre/kernel_patches/series/4.18-rhel8.6.series
lustre/kernel_patches/series/4.18-rhel8.7.series
lustre/kernel_patches/series/4.18-rhel8.series