From: Jens Axboe <axboe@kernel.dk>
To: Yu Kuai <yukuai@kernel.org>,
linux-block@vger.kernel.org, linux-raid@vger.kernel.org
Cc: linan122@huawei.com, xni@redhat.com, colyli@kernel.org,
yukuai3@huawei.com, yi.zhang@huawei.com, yangerkun@huawei.com,
johnny.chenyi@huawei.com
Subject: Re: [GIT PULL v2] md-6.18-20250909
Date: Tue, 9 Sep 2025 11:25:02 -0600 [thread overview]
Message-ID: <dc6a5862-547e-446e-a444-53b105ab00cb@kernel.dk> (raw)
In-Reply-To: <20250909171328.2691074-1-yukuai@kernel.org>
On 9/9/25 11:13 AM, Yu Kuai wrote:
> Hi, Jens
>
> Redundant data is used to enhance data fault tolerance, and the storage
> method for redundant data vary depending on the RAID levels. And it's
> important to maintain the consistency of redundant data.
>
> Bitmap is used to record which data blocks have been synchronized and which
> ones need to be resynchronized or recovered. Each bit in the bitmap
> represents a segment of data in the array. When a bit is set, it indicates
> that the multiple redundant copies of that data segment may not be
> consistent. Data synchronization can be performed based on the bitmap after
> power failure or readding a disk. If there is no bitmap, a full disk
> synchronization is required.
>
> Due to known performance issues with md-bitmap and the unreasonable
> implementations:
>
> - self-managed IO submitting like filemap_write_page();
> - global spin_lock
> - ...
>
> I have decided not to continue optimizing based on the current bitmap
> implementation, this new bitmap is invented without locking from IO fast
> path and can be used with fast disks.
>
> Key features for the new bitmap:
> - IO fastpath is lockless, if user issues lots of write IO to the same
> bitmap bit in a short time, only the first write has additional
> overhead to update bitmap bit, no additional overhead for the following
> writes;
> - support only resync or recover written data, means in the case creating
> new array or replacing with a new disk, there is no need to do a full
> disk resync/recovery;
Much better! Though I suspect you forgot to add more where you have
the "..." above, I just removed it.
Pulled, thanks.
--
Jens Axboe
prev parent reply other threads:[~2025-09-09 17:25 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-09 17:13 [GIT PULL v2] md-6.18-20250909 Yu Kuai
2025-09-09 17:25 ` Jens Axboe [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=dc6a5862-547e-446e-a444-53b105ab00cb@kernel.dk \
--to=axboe@kernel.dk \
--cc=colyli@kernel.org \
--cc=johnny.chenyi@huawei.com \
--cc=linan122@huawei.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=xni@redhat.com \
--cc=yangerkun@huawei.com \
--cc=yi.zhang@huawei.com \
--cc=yukuai3@huawei.com \
--cc=yukuai@kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).