Skip to content

mm/zswap: Fixes and improves the zswap shrink

Hao Jia linux-doc linux-mm lkml stable 4 versions – Applied

Status from this message: [merged mm-stable] mm-zswap-support-batch-writeback-in-shrink_memcg.patch removed from -mm tree

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest2 patches 2 repliesApplied 2/2
  2. v32 patches 14 repliesSuperseded
  3. v22 patches 28 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v12 patches17 repliesSuperseded

Changes in v4 from the cover letter

- Remove the nr_to_scan parameter from shrink_memcg() and cap the per-node scan count at SWAP_CLUSTER_MAX to avoid writeback unfairness across NUMA nodes caused by a shared global scan quota.

Patches in v4 All 2 applied

#Subject and filesSizeRepliesApplied
1/2mm/zswap: Fix global shrinker when memory cgroup is disabledmm/zswap.c+7 -60 repliesApplied
2/2mm/zswap: Support batch writeback in shrink_memcg()mm/zswap.c+11 -20 repliesApplied

Reviews trailers per patch

All 2 patches have a Reviewed-by or Acked-by.

PatchNhat PhamYosry Ahmed
1/2A-b A-b
2/2A-b A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

Cover letter [PATCH v4 0/2] mm/zswap: Fixes and improves the zswap shrink

From: Hao Jia <[email protected]>

This series fixes and improves the zswap global shrinker (shrink_worker()):
Patch 1: Fix missing global shrinker when memory cgroup is disabled. Patch 2: Extend shrink_memcg() to support batch writeback and thereby improving
the writeback efficiency in the shrink_worker() and zswap_store() paths.

v3->v4:
- Remove the nr_to_scan parameter from shrink_memcg() and cap the per-node scan count at SWAP_CLUSTER_MAX to avoid writeback unfairness across NUMA nodes caused by a shared global scan quota.
v2->v3:
- Added user impact to the commit 1 message.
- Updated writeback batch size to SWAP_CLUSTER_MAX to avoid introducing new magic macros. And enabled batched shrinking in the zswap_store() path as well.
- Re-benchmarked performance data with the updated patch.
v1->v2:
- Add a reschedule check to the -ENOENT return path in shrink_memcg() to handle the theoretical issue of prolonged heavy concurrent zswap stores.
- Remove the shrink_memcg() return value changes part, and include a more detailed test report in the commit message.

[v3] https://lore.kernel.org/all/[email protected]
[v2] https://lore.kernel.org/all/[email protected]
[v1] https://lore.kernel.org/all/[email protected]

Hao Jia (2):
mm/zswap: Fix global shrinker when memory cgroup is disabled mm/zswap: Support batch writeback in shrink_memcg()

 mm/zswap.c | 26 ++++++++++++++++++--------
 1 file changed, 18 insertions(+), 8 deletions(-)
Signature · 1 line
2.34.1