This is a second revision of Alex's original block allocation prefetch patches. Changes are from v1: *) We don't skip reading block bitmaps in the first block group of a flex_bg. This is necessary so that strategy of biasing block allocations for metadata blocks (in particular, extent tree blocks) can be preserved. *) The prefetch_block_bitmaps mount option now will prefetch the block bitmaps before starting lazy inode table initialization, instead of the other way around. In general, for freshly created file systems, prefetching block bitmaps will go very quickly, since most block groups have not been used yet, so we don't actually the prefetch those block bitmaps. *) Other minor spelling fixups, cleanups. Alex Zhuravlev (2): ext4: add prefetching for block allocation bitmaps ext4: skip non-loaded groups at cr=0/1 when scanning for good groups Theodore Ts'o (2): ext4: indicate via a block bitmap read is prefetched via a tracepoint ext4: add prefetch_block_bitmaps mount options fs/ext4/balloc.c | 16 +++- fs/ext4/ext4.h | 23 +++++- fs/ext4/mballoc.c | 153 +++++++++++++++++++++++++++++++++++- fs/ext4/super.c | 59 ++++++++++---- fs/ext4/sysfs.c | 4 + include/trace/events/ext4.h | 68 +++++++++++++++- 6 files changed, 294 insertions(+), 29 deletions(-) -- 2.24.1