The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: Yu Kuai <yukuai@kernel.org>
To: Yu Kuai <yukuai1@huaweicloud.com>,
	agk@redhat.com, snitzer@kernel.org, mpatocka@redhat.com,
	song@kernel.org, yukuai3@huawei.com
Cc: dm-devel@lists.linux.dev, linux-raid@vger.kernel.org,
	linux-kernel@vger.kernel.org, yi.zhang@huawei.com,
	yangerkun@huawei.com, johnny.chenyi@huawei.com
Subject: Re: [PATCH v5 00/15] md/md-bitmap: introduce CONFIG_MD_BITMAP
Date: Thu, 31 Jul 2025 02:21:30 +0800	[thread overview]
Message-ID: <063582fe-b441-4325-9060-2b6bc2bd09c2@kernel.org> (raw)
In-Reply-To: <20250707012711.376844-1-yukuai1@huaweicloud.com>

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


      parent reply	other threads:[~2025-07-30 18:21 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=063582fe-b441-4325-9060-2b6bc2bd09c2@kernel.org \
    --to=yukuai@kernel.org \
    --cc=agk@redhat.com \
    --cc=dm-devel@lists.linux.dev \
    --cc=johnny.chenyi@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-raid@vger.kernel.org \
    --cc=mpatocka@redhat.com \
    --cc=snitzer@kernel.org \
    --cc=song@kernel.org \
    --cc=yangerkun@huawei.com \
    --cc=yi.zhang@huawei.com \
    --cc=yukuai1@huaweicloud.com \
    --cc=yukuai3@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox