Whamcloud - gitweb
LU-12988 ldiskfs: mballoc to prefetch groups 33/37633/3
authorAlex Zhuravlev <bzzz@whamcloud.com>
Mon, 2 Dec 2019 08:23:30 +0000 (11:23 +0300)
committerOleg Drokin <green@whamcloud.com>
Mon, 2 Mar 2020 00:51:06 +0000 (00:51 +0000)
commitb7cd65a3d1d665f1bee5eb8ad3b989b12be7de08
treefadcfd821435a263f4a2d517f2bdc67c34c4a83b
parent59a3d7237df82ac2ce14b6779577584163f9122b
LU-12988 ldiskfs: mballoc to prefetch groups

ahead of scanning. prefething is done in 8 * flex_bg groups, so
it should be 8 read-ahead reads for a single allocating thread.
at the end of allocation the allocating thread waits for read-ahead
completion and initializes buddy information so that read-aheads
are not lost in case of memory pressure.
at cr=0 the number of prefetching IOs is limited per allocation
context to prevent a situation when mballoc loads thousands of
bitmaps looking for a perfect group and ignoring groups with
good chunks.

Signed-off-by: Alex Zhuravlev <bzzz@whamcloud.com>
Change-Id: Ibce9a060900544abe994f4d7a20ac9c2979ccc56
Reviewed-on: https://review.whamcloud.com/37633
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>
ldiskfs/kernel_patches/patches/rhel7.7/ext4-mballoc-prefetch.patch [new file with mode: 0644]
ldiskfs/kernel_patches/patches/rhel7/ext4-mballoc-prefetch.patch [new file with mode: 0644]
ldiskfs/kernel_patches/patches/rhel8/ext4-mballoc-prefetch.patch [new file with mode: 0644]
ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.2.series
ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.3.series
ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.4.series
ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.5.series
ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.6.series
ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.7.series
ldiskfs/kernel_patches/series/ldiskfs-3.10-rhel7.series
ldiskfs/kernel_patches/series/ldiskfs-4.18-rhel8.series