Various optimizations for mke2fs / e2fsck. First patch makes no big change for x86, but saves a couple of seconds on embedded systems. Mostly effective for large non-bigalloc volumes. The rest of the series is to improve mke2fs time on bigalloc volumes. Times for mke2fs of 1TB volume x86, plain: 7.5s -> 7.0s x86, bigalloc256: 6.5s -> 1.9s mips, plain: 9.9s -> 5.7s mips, bigalloc256: 29.0s -> 1.9s Testing done: patched mke2fs, unpatched e2fsck, patched e2fsck, mount, basic write operations, unmount, unpatched e2fsck, patched e2fsck. ffs/ffz were tested with tst_bitmaps commands which cover all exit paths for rb_tree implementation. Output of tst_bitmaps is same for ba and rb bitmaps. Andrey Sidorov (5): libext2fs: Optimize ext2fs_allocate_group_table() libext2fs: find_first_set() for bitmaps. libext2fs: find_first_set() for bitarray bitmap libext2fs: ffz/ffs for rb_tree bitmap libext2fs: Optimize ext2fs_convert_subcluster_bitmap() lib/ext2fs/alloc_tables.c | 31 +++++--- lib/ext2fs/bitops.h | 41 +++++++++++ lib/ext2fs/blkmap64_ba.c | 83 +++++++++++++++++++-- lib/ext2fs/blkmap64_rb.c | 164 +++++++++++++++++++++++++++++++++++++++-- lib/ext2fs/bmap64.h | 4 +- lib/ext2fs/ext2fs.h | 3 + lib/ext2fs/gen_bitmap.c | 23 ++++++ lib/ext2fs/gen_bitmap64.c | 118 +++++++++++++++++++++++------ lib/ext2fs/tst_bitmaps.c | 66 +++++++++++++++++ lib/ext2fs/tst_bitmaps_cmd.ct | 6 ++ 10 files changed, 492 insertions(+), 47 deletions(-) -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html