[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241225111546.1833250-1-yukuai1@huaweicloud.com>
Date: Wed, 25 Dec 2024 19:15:33 +0800
From: Yu Kuai <yukuai1@...weicloud.com>
To: xni@...hat.com,
agk@...hat.com,
snitzer@...nel.org,
mpatocka@...hat.com,
song@...nel.org,
yukuai3@...wei.com
Cc: dm-devel@...ts.linux.dev,
linux-raid@...r.kernel.org,
linux-kernel@...r.kernel.org,
yukuai1@...weicloud.com,
yi.zhang@...wei.com,
yangerkun@...wei.com
Subject: [PATCH md-6.14 00/13] md/md-bitmap: support to build md-bitmap as kernel module
From: Yu Kuai <yukuai3@...wei.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
Powered by blists - more mailing lists