mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v5 00/15] md/md-bitmap: introduce CONFIG_MD_BITMAP
@ 2025-07-07  1:26 Yu Kuai
  2025-07-07  1:26 ` [PATCH v5 01/15] md/raid1: change r1conf->r1bio_pool to a pointer type Yu Kuai
                   ` (16 more replies)
  0 siblings, 17 replies; 20+ messages in thread
From: Yu Kuai @ 2025-07-07  1:26 UTC (permalink / raw)
  To: agk, snitzer, mpatocka, song, yukuai3
  Cc: dm-devel, linux-raid, linux-kernel, yukuai1, yi.zhang, yangerkun,
	johnny.chenyi

From: Yu Kuai <yukuai3@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


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2025-07-30 18:21 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-07-07  1:26 [PATCH v5 00/15] md/md-bitmap: introduce CONFIG_MD_BITMAP Yu Kuai
2025-07-07  1:26 ` [PATCH v5 01/15] md/raid1: change r1conf->r1bio_pool to a pointer type Yu Kuai
2025-07-07  1:26 ` [PATCH v5 02/15] md/raid1: remove struct pool_info and related code Yu Kuai
2025-07-07  1:26 ` [PATCH v5 03/15] md/md-bitmap: remove the parameter 'init' for bitmap_ops->resize() Yu Kuai
2025-07-25  2:49   ` Xiao Ni
2025-07-07  1:27 ` [PATCH v5 04/15] md/md-bitmap: merge md_bitmap_group into bitmap_operations Yu Kuai
2025-07-25  3:42   ` Xiao Ni
2025-07-07  1:27 ` [PATCH v5 05/15] md/md-bitmap: add a new parameter 'flush' to bitmap_ops->enabled Yu Kuai
2025-07-07  1:27 ` [PATCH v5 06/15] md/md-bitmap: add md_bitmap_registered/enabled() helper Yu Kuai
2025-07-07  1:27 ` [PATCH v5 07/15] md/md-bitmap: handle the case bitmap is not enabled before start_sync() Yu Kuai
2025-07-07  1:27 ` [PATCH v5 08/15] md/md-bitmap: handle the case bitmap is not enabled before end_sync() Yu Kuai
2025-07-07  1:27 ` [PATCH v5 09/15] md/raid1: check bitmap before behind write Yu Kuai
2025-07-07  1:27 ` [PATCH v5 10/15] md/raid1: check before referencing mddev->bitmap_ops Yu Kuai
2025-07-07  1:27 ` [PATCH v5 11/15] md/raid10: " Yu Kuai
2025-07-07  1:27 ` [PATCH v5 12/15] md/raid5: " Yu Kuai
2025-07-07  1:27 ` [PATCH v5 13/15] md/dm-raid: " Yu Kuai
2025-07-07  1:27 ` [PATCH v5 14/15] md: " Yu Kuai
2025-07-07  1:27 ` [PATCH v5 15/15] md/md-bitmap: introduce CONFIG_MD_BITMAP Yu Kuai
2025-07-28  5:37 ` [PATCH v5 00/15] " Xiao Ni
2025-07-30 18:21 ` Yu Kuai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®