[PATCH v2 0/3] zram: support asynchronous writeback

Richard Chang posted 3 patches 2 months ago
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
[PATCH v2 0/3] zram: support asynchronous writeback
Posted by Richard Chang 2 months ago
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