From: Baoquan He <bhe@redhat.com>
To: YoungJun Park <youngjun.park@lge.com>
Cc: linux-mm@kvack.org, akpm@linux-foundation.org, chrisl@kernel.org,
kasong@tencent.com, shikemeng@huaweicloud.com, nphamcs@gmail.com,
baohua@kernel.org
Subject: Re: [PATCH 0/3] mm/swap: use swap_ops to register swap device's methods
Date: Thu, 5 Mar 2026 13:18:27 +0800 [thread overview]
Message-ID: <aakSI_0O0G6arjZO@MiWiFi-R3L-srv> (raw)
In-Reply-To: <aaWiBaeSCILBCzqd@yjaykim-PowerEdge-T330>
On 03/02/26 at 11:43pm, YoungJun Park wrote:
> On Mon, Mar 02, 2026 at 06:40:13PM +0800, Baoquan He wrote:
> > This can simplify the code logic and benefit any new type of swap device
> > added later.
> >
> > And also do renaming in this patchset:
> > -------
> > file renaming:
> > ---
> > mm/page_io.c to mm/swap_io.c
> >
> > function renaming:
> > ---
> > swap_writepage_* to swap_write_folio_* in file mm/swap_io.c
> >
> >
> > Baoquan He (3):
> > mm/swap: rename mm/page_io.c to mm/swap_io.c
> > mm/swap: use swap_ops to register swap device's methods
> > mm/swap_io.c: rename swap_writepage_* to swap_write_folio_*
> >
> > MAINTAINERS | 2 +-
> > include/linux/swap.h | 13 +++++
> > mm/Makefile | 2 +-
> > mm/swap.h | 3 +-
> > mm/{page_io.c => swap_io.c} | 104 +++++++++++++++++++++---------------
> > mm/swapfile.c | 2 +
> > mm/zswap.c | 3 +-
> > 7 files changed, 80 insertions(+), 49 deletions(-)
> > rename mm/{page_io.c => swap_io.c} (91%)
> >
> > --
> > 2.52.0
>
> Hi Baoquan,
>
> Thank you for the swap_ops infrastructure patch. This is very
> relevant to our flash swap work, and I believe it could
> significantly help with our future contributions if the framework
> is extended further.
>
> As I understand it, the current patch serves as a foundation for
> future infrastructure. However, from our perspective, the swap ops
> are currently configured statically, and we would need a way to
> apply or register custom ops for our use case.
Thanks a lot for your input about the future potential use cases of
swap_ops, they are very valuable.
Yes, this patchset is posted as a infrastructure of swap_ops and a
thread where we collect any potential extention or use case. The
change is made based on the current kernel.
>
> I have a few suggestions (mixed with questions) regarding
> extensibility.
>
> 1) Could the ops be replaced at activation time, similar to how
> SWP_FS_OPS works — i.e., giving block device drivers an
> opportunity to override the ops when the swap device is
> activated?
>
> This would allow block devices to handle swap read/write
> through swap_ops rather than doing it in submit_bio, which
> feels more generalized and leaves room for future extension.
>
> This direction would be the best fit for our use case.
> However, considering ongoing swap work that may involve
> managing multiple swap devices, I wonder whether binding ops
> to a single block device would still be appropriate in that
> scenario.
I think it's doable and make swap_ops more flexible and versatile to
support different swap back ends.
As for binding ops to a swap devices conflicting with managing multiple
swap devices, I may not get your point very clearly. Could you give a
concrete use case to demonstrate?
>
> 2) Would it be possible to defer swap device activation via a
> lazy registration interface, so that the ops can be registered
> before the device is fully activated?
>
> This would open the door for entities other than block
> devices — such as kernel modules or other forms — to act as
> swap backends. (Of course, block devices could also benefit
> from this path.)
Yes, I think it's doable. I will make change and send a draft to you for
evaluation. By the way, do you have actual use case in which deferring
swap activation is needed for justification?
>
> 3) Alternatively, are there any plans for a static binding
> mechanism, or any other extensibility approach you have in
> mind?
>
> As an additional thought, if this ops framework could eventually
> be extended to cover cluster allocation as well, it might enable
> a model where base swap functionality is provided by the core,
> while each vendor can freely plug in their own additional use
> cases on top — making the swap device truly extensible.
Yes, this is planned task as I have mentioned in the LSF/MM topic mail.
>
> Any thoughts on these would be greatly appreciated.
>
> Best regards,
> Youngjun Park
>
next prev parent reply other threads:[~2026-03-05 5:18 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-02 10:40 Baoquan He
2026-03-02 10:40 ` [PATCH 1/3] mm/swap: rename mm/page_io.c to mm/swap_io.c Baoquan He
2026-03-02 10:56 ` Barry Song
2026-03-02 13:25 ` Baoquan He
2026-03-02 21:12 ` Nhat Pham
2026-03-03 7:24 ` Baoquan He
2026-03-04 6:40 ` Kairui Song
2026-03-02 10:40 ` [PATCH 2/3] mm/swap: use swap_ops to register swap device's methods Baoquan He
2026-03-02 11:11 ` Barry Song
2026-03-02 14:47 ` Baoquan He
2026-03-02 19:28 ` Chris Li
2026-03-02 12:20 ` YoungJun Park
2026-03-02 14:09 ` YoungJun Park
2026-03-02 19:35 ` Chris Li
2026-03-03 7:14 ` Baoquan He
2026-03-02 14:53 ` Usama Arif
2026-03-03 10:41 ` Baoquan He
2026-03-02 21:21 ` Nhat Pham
2026-03-03 3:01 ` Baoquan He
2026-03-02 10:40 ` [PATCH 3/3] mm/swap_io.c: rename swap_writepage_* to swap_write_folio_* Baoquan He
2026-03-02 11:28 ` Barry Song
2026-03-02 21:11 ` Nhat Pham
2026-03-02 14:43 ` [PATCH 0/3] mm/swap: use swap_ops to register swap device's methods YoungJun Park
2026-03-05 5:18 ` Baoquan He [this message]
2026-03-05 8:09 ` YoungJun Park
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=aakSI_0O0G6arjZO@MiWiFi-R3L-srv \
--to=bhe@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=baohua@kernel.org \
--cc=chrisl@kernel.org \
--cc=kasong@tencent.com \
--cc=linux-mm@kvack.org \
--cc=nphamcs@gmail.com \
--cc=shikemeng@huaweicloud.com \
--cc=youngjun.park@lge.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