[PATCH v4 0/2] mm/zswap: Fixes and improves the zswap shrink
Hao Jia <[email protected]>
| Newsgroups | org.kernel.vger.linux-doc,org.kernel.vger.linux-kernel,org.kvack.linux-mm |
|---|---|
| Message-ID | <[email protected]> |
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(-) -- 2.34.1