From: Christoph Hellwig <hch@lst.de>
To: Chris Li <chrisl@kernel.org>
Cc: Christoph Hellwig <hch@lst.de>,
baoquan.he@linux.dev, akpm@linux-foundation.org,
usama.arif@linux.dev, kasong@tencent.com, nphamcs@gmail.com,
shikemeng@huaweicloud.com, youngjun.park@lge.com,
linux-mm@kvack.org
Subject: Re: RFC: better block swap batching and a different take on swap_ops
Date: Thu, 28 May 2026 09:16:34 +0200 [thread overview]
Message-ID: <20260528071634.GA1184@lst.de> (raw)
In-Reply-To: <CACePvbVvhJ7Kz2wtUUu+PoNweOsq5XABSMqKrabX6FTdK2fpuA@mail.gmail.com>
On Thu, May 28, 2026 at 12:10:48AM -0700, Chris Li wrote:
> I like the direction of this patch series. I suggest you send it out
> as formal patches without the RFC.
I've been planning to do that for two days, but I'm still waiting
for the buildbot result as the buildbot seems to have some delays.
> One observation is that, this patch series aims at situations where
> block io merging would be beneficial. This makes sense for the
> physical block device. However for the memory compression based swap
> interface, block IO merging might not offer additional benefits. What
> do you think about a combination approach that allows the swap back
> end to select whether to use bio merging for swap or not? The end
> result is that file system swap will use your swap_ops flavor. The
> zram and other memory-based swap backends use an API that behaves more
> like Baoquan's original swap_ops series.
There are two approaches how we could do that: make the can_merge
callback more high-level to avoid merging, or offer additional hooks.
> We can merge your bio merging swap_ops series first and then design
> how to allow swap backends to optionally bypass the bio merging as a
> follow up step.
Yes, I'd rather do that when we have a consumer. My impression so far
was that the main support way to do compression was zswap which sits
above this, and we would not optimize for low-level compression. If
we have to do that for some reason we can do reasonable optimizations
for it.
next prev parent reply other threads:[~2026-05-28 7:16 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-15 12:00 RFC: better block swap batching and a different take on swap_ops Christoph Hellwig
2026-05-15 12:00 ` [PATCH 1/6] shmem: provide a shmem_write_folio wrapper Christoph Hellwig
2026-05-15 12:00 ` [PATCH 2/6] mm: merge writeout into pageout Christoph Hellwig
2026-05-15 12:00 ` [PATCH 3/6] mm/swap: intoduce struct swap_io_ctx Christoph Hellwig
2026-05-15 12:00 ` [PATCH 4/6] mm/swap: also use struct swap_iocb for block I/O Christoph Hellwig
2026-05-15 12:00 ` [PATCH 5/6] mm/swap: use swap_ops to register swap device's methods Christoph Hellwig
2026-05-15 12:00 ` [PATCH 6/6] mm/swap: remove SWP_FS_OPS Christoph Hellwig
2026-05-22 13:31 ` RFC: better block swap batching and a different take on swap_ops Baoquan He
2026-05-28 7:10 ` Chris Li
2026-05-28 7:16 ` Christoph Hellwig [this message]
2026-05-28 7:39 ` Chris Li
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=20260528071634.GA1184@lst.de \
--to=hch@lst.de \
--cc=akpm@linux-foundation.org \
--cc=baoquan.he@linux.dev \
--cc=chrisl@kernel.org \
--cc=kasong@tencent.com \
--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.