From: Richard Chang <richardycc@google.com>
To: Minchan Kim <minchan@kernel.org>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Jens Axboe <axboe@kernel.dk>,
Andrew Morton <akpm@linux-foundation.org>
Cc: bgeffon@google.com, liumartin@google.com,
linux-kernel@vger.kernel.org, linux-block@vger.kernel.org,
linux-mm@kvack.org, Richard Chang <richardycc@google.com>
Subject: [PATCH v2 0/3] zram: support asynchronous writeback
Date: Thu, 31 Jul 2025 06:49:46 +0000 [thread overview]
Message-ID: <20250731064949.1690732-1-richardycc@google.com> (raw)
This patch series introduces asynchronous writeback to the zram module.
By moving to an asynchronous model, we can perform writeback operations
more efficiently.
The series is structured as follows:
The first patch is a preparatory refactoring that moves all
writeback-related code into its own files (zram_wb.[ch]) without any
functional changes.
The second patch introduces the core infrastructure for asynchronicity,
including a dedicated kthread, a request queue, and helper functions to
manage writeback requests.
The final patch enables asynchronous writeback by switching from
submit_bio_wait() to the non-blocking submit_bio(). This patch also
includes performance benchmarks demonstrating a 27% improvement in
idle writeback speed on an Android platform.
Changes in v2:
- Rebase and spilt to a series of patchset
- Add test results
- Link to v1: https://lore.kernel.org/all/20250618132622.3730219-1-richardycc@google.com/
Richard Chang (3):
zram: refactor writeback helpers
zram: add async writeback infrastructure
zram: enable asynchronous writeback
drivers/block/zram/Makefile | 1 +
drivers/block/zram/zram_drv.c | 157 +++++++--------------
drivers/block/zram/zram_drv.h | 30 ++++
drivers/block/zram/zram_wb.c | 248 ++++++++++++++++++++++++++++++++++
drivers/block/zram/zram_wb.h | 42 ++++++
5 files changed, 371 insertions(+), 107 deletions(-)
create mode 100644 drivers/block/zram/zram_wb.c
create mode 100644 drivers/block/zram/zram_wb.h
--
2.50.1.565.gc32cd1483b-goog
next reply other threads:[~2025-07-31 6:51 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-31 6:49 Richard Chang [this message]
2025-07-31 6:49 ` [PATCH v2 1/3] zram: refactor writeback helpers Richard Chang
2025-08-26 22:07 ` Minchan Kim
2025-07-31 6:49 ` [PATCH v2 2/3] zram: add async writeback infrastructure Richard Chang
2025-07-31 15:24 ` Bart Van Assche
2025-07-31 6:49 ` [PATCH v2 3/3] zram: enable asynchronous writeback Richard Chang
2025-07-31 15:29 ` Bart Van Assche
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=20250731064949.1690732-1-richardycc@google.com \
--to=richardycc@google.com \
--cc=akpm@linux-foundation.org \
--cc=axboe@kernel.dk \
--cc=bgeffon@google.com \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=liumartin@google.com \
--cc=minchan@kernel.org \
--cc=senozhatsky@chromium.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).