[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <def3b536-7840-426a-9805-f62363174812@fnnas.com>
Date: Thu, 5 Feb 2026 01:02:45 +0800
From: "Yu Kuai" <yukuai@...as.com>
To: <linan666@...weicloud.com>, <song@...nel.org>
Cc: <xni@...hat.com>, <linux-raid@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <yangerkun@...wei.com>,
<yi.zhang@...wei.com>, <yukuai@...as.com>
Subject: Re: [PATCH v2 00/14] folio support for sync I/O in RAID
Hi,
在 2026/1/28 15:56, linan666@...weicloud.com 写道:
> From: Li Nan <linan122@...wei.com>
>
> This patchset adds folio support to sync operations in raid1/10.
> Previously, we used 16 * 4K pages for 64K sync I/O. With this change,
> we'll use a single 64K folio instead. Using folios reduces
> resync/recovery time by 20% on HDD.
>
> This is the first step towards full folio support in RAID. Going forward,
> I will replace the remaining page-based usage with folio.
>
> The patchset was tested with mdadm. Additional fault injection stress tests
> were run under file systems.
For conclusion, I think you can send patch 1,8,9 first, they're not quite
related to folio and can be applied. Then, please move patch 12,13 before patch 5
in the separate patch set, and looks like the number of patches can be small.
BTW, there are still pages in other context, do you plan to convert them?
>
> v2:
> - Remove patch "md: use folio for bb_folio". It will be included in
> a later patch set
> - In patch 5:
> 1) fix typo
> 2) rewrite the logic of copying data in process_checks()
> 3) rename resync_get_all_folio() to resync_get_folio()
> 4) s/resync_pages *rps/resync_folio *rfs/g in
> raid1_alloc_init_r1buf() and raid10_alloc_init_r10buf()
> - Subsequent patches: Adapting conflicts caused by patch 5
>
> Li Nan (14):
> md/raid1,raid10: clean up of RESYNC_SECTORS
> md: introduce sync_folio_io for folio support in RAID
> md/raid1: use folio for tmppage
> md/raid10: use folio for tmppage
> md/raid1,raid10: use folio for sync path IO
> md: Clean up folio sync support related code
> md/raid1: clean up useless sync_blocks handling in raid1_sync_request
> md/raid1: fix IO error at logical block size granularity
> md/raid10: fix IO error at logical block size granularity
> md/raid1,raid10: clean up resync_fetch_folio
> md: clean up resync_free_folio
> md/raid1: clean up sync IO size calculation in raid1_sync_request
> md/raid10: clean up sync IO size calculation in raid10_sync_request
> md/raid1,raid10: fall back to smaller order if sync folio alloc fails
>
> drivers/md/md.h | 2 +
> drivers/md/raid1.h | 2 +-
> drivers/md/raid10.h | 2 +-
> drivers/md/md.c | 29 +++-
> drivers/md/raid1-10.c | 81 ++++-------
> drivers/md/raid1.c | 233 ++++++++++++++-----------------
> drivers/md/raid10.c | 315 ++++++++++++++++++++----------------------
> 7 files changed, 308 insertions(+), 356 deletions(-)
>
--
Thansk,
Kuai
Powered by blists - more mailing lists