From: Baoquan He <baoquan.he@linux.dev>
To: linux-mm@kvack.org
Cc: akpm@linux-foundation.org, chrisl@kernel.org,
usama.arif@linux.dev, baohua@kernel.org, kasong@tencent.com,
nphamcs@gmail.com, shikemeng@huaweicloud.com,
youngjun.park@lge.com, hch@infradead.org,
linux-kernel@vger.kernel.org, Baoquan He <baoquan.he@linux.dev>
Subject: [PATCH v7 0/3] [PATCH v7 0/3] mm/swap: use swap_ops to register swap device's methods
Date: Fri, 15 May 2026 09:57:34 +0800 [thread overview]
Message-ID: <20260515015737.890994-1-baoquan.he@linux.dev> (raw)
This can simplify the code logic and benefit any new type of swap device
added later.
Patch 2 renames the page_io functions to a consistent
swap_<backend>_<op>_<folio> naming convention. Patch 3 fixes a
leaky abstraction where FS swap unplug bypassed swap_ops, adding
an .unplug callback and dispatcher.
Changlog:
===
v7:
- Drop the old patch 1 "[PATCH v6 1/3] mm/swap: rename mm/page_io.c
to mm/swap_io.c" as Christoph suggested.
- Add the .unplug callback to address Christoph's review about
the leaky abstraction.
- Minor cleanups and fixes per review feedback.
-v6:
- Fix a code bug Kairui found out when reviewing patch in mm/swapfile.c
in patch 2/3. Has fixed it by moving it to appropriate place and add
comment to explain.
-v5:
- Change the return value of init_swap_ops() as -EINVAL as per Chris's
suggestion and adjust its invocation in swapon() accordingly.
- Add Chris and Usama's Ack tags.
-v4:
- Fix a typo opeations -> operations
- Fix a code bug inside init_swap_ops(). I was taking a change at the
time, thought the change is trivial, so I only compiled but didn't
run kernel to test in v3. Now fix it and test passed.
Thanaks to Usama for catching the above two issues.
-v3:
- Rename setup_swap_ops() to init_swap_ops() which reflect the function
behaviour a little better
- Check if sis->ops, sis->ops->read_folio and sis->ops->write_folio is
NULL in init_swap_ops(), but not spread them where they are called.
And once the checking failed, fail swapon immediately. This is
suggested by Chris.
- Call init_swap_ops() before setup_swap_extents() invocation. This
doesn't harm anything and can benefit later adding sis->ops->swap_activate
method.
-v2:
- Lots of cleanup for patch 2/3: renaming, moving data
structures, and using const properly
- Collected tags from Kairui, Nhat and Barry
-v1:
- https://lore.kernel.org/linux-mm/20260302104016.163542-1-bhe@redhat.com/
Baoquan He (3):
mm/swap: use swap_ops to register swap device's methods
mm/page_io.c: rename page_io functions to consistent naming
mm/swap: add unplug callback to swap_ops to fix leaky abstraction
include/linux/swap.h | 3 ++
mm/page_io.c | 115 ++++++++++++++++++++++++++-----------------
mm/swap.h | 11 ++++-
mm/swapfile.c | 9 ++++
mm/zswap.c | 2 +-
5 files changed, 94 insertions(+), 46 deletions(-)
--
2.52.0
next reply other threads:[~2026-05-15 1:57 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-15 1:57 Baoquan He [this message]
2026-05-15 1:57 ` [PATCH v7 1/3] mm/swap: use swap_ops to register swap device's methods Baoquan He
2026-05-15 1:57 ` [PATCH v7 2/3] mm/page_io.c: rename page_io functions to consistent naming Baoquan He
2026-05-15 1:57 ` [PATCH v7 3/3] mm/swap: add unplug callback to swap_ops to fix leaky abstraction Baoquan He
2026-05-15 4:39 ` Barry Song
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=20260515015737.890994-1-baoquan.he@linux.dev \
--to=baoquan.he@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=baohua@kernel.org \
--cc=chrisl@kernel.org \
--cc=hch@infradead.org \
--cc=kasong@tencent.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=nphamcs@gmail.com \
--cc=shikemeng@huaweicloud.com \
--cc=usama.arif@linux.dev \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.