Whamcloud - gitweb
LU-12988 ldiskfs: mballoc to prefetch groups 93/36893/15
authorAlex Zhuravlev <bzzz@whamcloud.com>
Mon, 2 Dec 2019 08:23:30 +0000 (11:23 +0300)
committerOleg Drokin <green@whamcloud.com>
Mon, 10 Feb 2020 18:49:54 +0000 (18:49 +0000)
commit05f31782be20fc4c46082dba02c10bcea59539e3
tree174662ae1b02819f31361fad22f757667a0c2f16
parent749b641e89db51dff01ae2f6ffe416b6d4d4f23a
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: If86e3aff75379e064f70c0a66e2d65bdc5593651
Reviewed-on: https://review.whamcloud.com/36893
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Wang Shilong <wshilong@ddn.com>
Reviewed-by: Oleg Drokin <green@whamcloud.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