mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH md-6.14 00/13] md/md-bitmap: support to build md-bitmap as kernel module
@ 2024-12-25 11:15 Yu Kuai
  2024-12-25 11:15 ` [PATCH md-6.14 01/13] md/md-bitmap: remove the parameter 'init' for bitmap_ops->resize() Yu Kuai
                   ` (12 more replies)
  0 siblings, 13 replies; 18+ messages in thread
From: Yu Kuai @ 2024-12-25 11:15 UTC (permalink / raw)
  To: xni, agk, snitzer, mpatocka, song, yukuai3
  Cc: dm-devel, linux-raid, linux-kernel, yukuai1, yi.zhang, yangerkun

From: Yu Kuai <yukuai3@huawei.com>

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 build
the bitmap as kernel module is a good way for isolation. However, we
still encourage anyone who wants to continue optimizing the current
implementation, the new bitmap will take some time to be ready.

Yu Kuai (13):
  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 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/dm-raid: check if bitmap is registered in raid_ctr()
  md/raid1: check bitmap before behind write
  md/raid1: check before deferencing mddev->bitmap_ops
  md/raid10: check before deferencing mddev->bitmap_ops
  md/raid5: check before deferencing mddev->bitmap_ops
  md: check before deferencing mddev->bitmap_ops
  md: export some helpers
  md/md-bitmap: support to build md-bitmap as kernel module

 drivers/md/Kconfig      |  18 ++++
 drivers/md/Makefile     |   4 +-
 drivers/md/dm-raid.c    |   5 +-
 drivers/md/md-bitmap.c  |  72 ++++++++--------
 drivers/md/md-bitmap.h  |  54 +++++++++++-
 drivers/md/md-cluster.c |   2 +-
 drivers/md/md.c         | 183 +++++++++++++++++++++++++++++++---------
 drivers/md/md.h         |  12 ++-
 drivers/md/raid1-10.c   |   2 +-
 drivers/md/raid1.c      |  79 ++++++++++-------
 drivers/md/raid10.c     |  48 +++++------
 drivers/md/raid5.c      |  30 ++++---
 12 files changed, 352 insertions(+), 157 deletions(-)

-- 
2.39.2


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

end of thread, other threads:[~2025-01-07  3:43 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-25 11:15 [PATCH md-6.14 00/13] md/md-bitmap: support to build md-bitmap as kernel module Yu Kuai
2024-12-25 11:15 ` [PATCH md-6.14 01/13] md/md-bitmap: remove the parameter 'init' for bitmap_ops->resize() Yu Kuai
2024-12-25 11:15 ` [PATCH md-6.14 02/13] md/md-bitmap: merge md_bitmap_group into bitmap_operations Yu Kuai
2024-12-25 11:15 ` [PATCH md-6.14 03/13] md/md-bitmap: add md_bitmap_registered/enabled() helper Yu Kuai
2024-12-25 11:15 ` [PATCH md-6.14 04/13] md/md-bitmap: handle the case bitmap is not enabled before start_sync() Yu Kuai
2024-12-25 11:15 ` [PATCH md-6.14 05/13] md/md-bitmap: handle the case bitmap is not enabled before end_sync() Yu Kuai
2024-12-25 11:15 ` [PATCH md-6.14 06/13] md/dm-raid: check if bitmap is registered in raid_ctr() Yu Kuai
2024-12-25 11:15 ` [PATCH md-6.14 07/13] md/raid1: check bitmap before behind write Yu Kuai
2024-12-25 11:15 ` [PATCH md-6.14 08/13] md/raid1: check before deferencing mddev->bitmap_ops Yu Kuai
2024-12-25 11:15 ` [PATCH md-6.14 09/13] md/raid10: " Yu Kuai
2024-12-25 11:15 ` [PATCH md-6.14 10/13] md/raid5: " Yu Kuai
2024-12-25 11:15 ` [PATCH md-6.14 11/13] md: " Yu Kuai
2024-12-25 11:15 ` [PATCH md-6.14 12/13] md: export some helpers Yu Kuai
2024-12-25 11:15 ` [PATCH md-6.14 13/13] md/md-bitmap: support to build md-bitmap as kernel module Yu Kuai
2025-01-06 11:16   ` Christoph Hellwig
2025-01-06 11:35     ` Yu Kuai
2025-01-06 15:24       ` Christoph Hellwig
2025-01-07  3:43         ` 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®