On Mon, Jul 7, 2025 at 9:36 AM Yu Kuai <yuku...@huaweicloud.com> wrote: > > From: Yu Kuai <yuku...@huawei.com> > > Changes in v5: > - rebase on the top of md-6.17; > - fix compile problem if md-mod is build as module; > - fix two problems for lvm2 dm-raid tests, patch 5,13 > - other cleanups; > Changes in v4: > - rebase on the top of other patchset; > Changes in v3: > - update commit message. > Changes in v2: > - don't export apis, and don't support build md-bitmap as module > > Due to known performance issues with md-bitmap and the unreasonable > implementations like following: > > - self-managed pages, bitmap_storage->filemap; > - self-managed IO submitting like filemap_write_page(); > - global spin_lock > ... > > I have decided not to continue optimizing based on the current bitmap > implementation, and plan to invent a new lock-less bitmap. And a new > kconfig option is a good way for isolation. > > However, we still encourage anyone who wants to continue optimizing the > current implementation > > Yu Kuai (15): > md/raid1: change r1conf->r1bio_pool to a pointer type > md/raid1: remove struct pool_info and related code > md/md-bitmap: remove the parameter 'init' for bitmap_ops->resize() > md/md-bitmap: merge md_bitmap_group into bitmap_operations > md/md-bitmap: add a new parameter 'flush' to bitmap_ops->enabled > md/md-bitmap: add md_bitmap_registered/enabled() helper > md/md-bitmap: handle the case bitmap is not enabled before > start_sync() > md/md-bitmap: handle the case bitmap is not enabled before end_sync() > md/raid1: check bitmap before behind write > md/raid1: check before referencing mddev->bitmap_ops > md/raid10: check before referencing mddev->bitmap_ops > md/raid5: check before referencing mddev->bitmap_ops > md/dm-raid: check before referencing mddev->bitmap_ops > md: check before referencing mddev->bitmap_ops > md/md-bitmap: introduce CONFIG_MD_BITMAP > > drivers/md/Kconfig | 18 +++++ > drivers/md/Makefile | 3 +- > drivers/md/dm-raid.c | 18 +++-- > drivers/md/md-bitmap.c | 74 +++++++++--------- > drivers/md/md-bitmap.h | 62 ++++++++++++++- > drivers/md/md-cluster.c | 2 +- > drivers/md/md.c | 112 +++++++++++++++++++-------- > drivers/md/md.h | 4 +- > drivers/md/raid1-10.c | 2 +- > drivers/md/raid1.c | 163 +++++++++++++++++++--------------------- > drivers/md/raid1.h | 22 +----- > drivers/md/raid10.c | 49 ++++++------ > drivers/md/raid5.c | 30 ++++---- > 13 files changed, 330 insertions(+), 229 deletions(-) > > -- > 2.39.2 > >
The patch set looks good to me. Reviewed-by: Xiao Ni <x...@redhat.com>