在 2025/7/7 9:26, Yu Kuai 写道:
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(-)

Applied to md-6.17
Thanks


Reply via email to