On Fri, Sep 25, 2026 at 6:55 PM Matthias Goergens <[email protected]> wrote: > The series fixes zram selftest device tracking and error reporting, adds > the swap policy with DRM eligibility checks, and tests routing, workingset > activation and retained-entry write refusal. It is based on mm-new at > 995829088503.
Hi Matthias, I can't find mm-new 995829088503 anymore. Your patch does not apply cleanly to the current tip of mm-new mm-unstable, or mm-stable branches. Do you have a git repo with your patch applied? mm-new is whatever Andrew can find on the mailing list, regardless of whether it has been reviewed. That mm-new branch is very unstable, even more so than mm-unstable, which should at least have some review already. Maybe consider using mm-stable or mm-unstable as base next time. Chris > > Feedback is particularly welcome on: > > - Activation-time eligibility versus backend placement or migration: > is retained-entry refusal, with possible reclaim churn or OOM, > acceptable without migration? > - Eligible-capacity accounting, including overcommit limits and OOM > scoring; cache recovery, cluster invalidation and workingset activation. > - Persistent activation and visibility: current swap listings do not > expose the policy. > > Validation includes x86 builds, affected arm64 MTE objects and builds > without swap or memory cgroups. QEMU tests covered routing, retained-entry > recovery, data integrity and cleanup, with negative controls for write > refusal and teardown failure. > > I have also been using this policy on my own machine with experimental > bcachefs swap support, with no problems observed so far. Deliberate stress > testing is confined to VMs; I do not deliberately stress-test this machine. > > Changes since v1, incorporating Sashiko's public review [7]: > > - Improve selftest isolation, retained-swap measurement and memlock skips. > - Track allocated zram devices, wait for udev probes and report cleanup > errors without deleting data through a mount that could not be released. > - Clarify activation, capacity reporting and conventional fallback limits. > > [1] https://patchew.org/linux/[email protected]/ > [2] https://patchew.org/linux/[email protected]/ > [3] > https://openzfs.github.io/openzfs-docs/Project%20and%20Community/FAQ.html#using-a-zvol-for-a-swap-device-on-linux > [4] > https://engineering.fb.com/2022/06/20/data-infrastructure/transparent-memory-offloading-more-memory-at-a-fraction-of-the-cost-and-power/ > [5] https://www.kernel.org/doc/html/latest/admin-guide/mm/damon/reclaim.html > [6] https://www.kernel.org/doc/html/latest/admin-guide/mm/zswap.html > [7] > https://sashiko.dev/#/patchset/[email protected] > [8] https://github.com/util-linux/util-linux/pull/4633 > [9] > https://lore.kernel.org/all/[email protected]/ > > v1: > https://lore.kernel.org/all/[email protected]/ > > Matthias Goergens (4): > selftests: zram: track owned devices and report cleanup failures > mm: restrict offload-only swap to proactive reclaim > selftests: zram: cover offload-only swap policy > selftests: zram: cover retained offload-only entries > > Documentation/mm/swap.rst | 105 ++++ > drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 2 +- > .../gpu/drm/i915/gem/selftests/huge_pages.c | 6 +- > drivers/gpu/drm/msm/msm_gem_shrinker.c | 2 +- > drivers/gpu/drm/panthor/panthor_gem.c | 2 +- > drivers/gpu/drm/ttm/ttm_backup.c | 2 +- > drivers/gpu/drm/xe/tests/xe_bo.c | 2 +- > include/linux/swap.h | 29 +- > include/linux/vm_event_item.h | 1 + > mm/memcontrol.c | 20 +- > mm/page_io.c | 24 +- > mm/swapfile.c | 123 ++++- > mm/vmscan.c | 31 +- > mm/vmstat.c | 1 + > tools/testing/selftests/zram/.gitignore | 2 + > tools/testing/selftests/zram/Makefile | 4 +- > tools/testing/selftests/zram/README | 20 +- > tools/testing/selftests/zram/config | 10 +- > tools/testing/selftests/zram/settings | 1 + > tools/testing/selftests/zram/swap_offload.c | 425 +++++++++++++++++ > .../selftests/zram/workingset_offload.c | 207 ++++++++ > tools/testing/selftests/zram/zram.sh | 9 + > tools/testing/selftests/zram/zram01.sh | 9 +- > tools/testing/selftests/zram/zram02.sh | 9 +- > tools/testing/selftests/zram/zram03.sh | 174 +++++++ > tools/testing/selftests/zram/zram04.sh | 164 +++++++ > tools/testing/selftests/zram/zram05.sh | 447 ++++++++++++++++++ > tools/testing/selftests/zram/zram_lib.sh | 189 ++++++-- > 28 files changed, 1926 insertions(+), 94 deletions(-) > create mode 100644 tools/testing/selftests/zram/settings > create mode 100644 tools/testing/selftests/zram/swap_offload.c > create mode 100644 tools/testing/selftests/zram/workingset_offload.c > create mode 100755 tools/testing/selftests/zram/zram03.sh > create mode 100755 tools/testing/selftests/zram/zram04.sh > create mode 100755 tools/testing/selftests/zram/zram05.sh > > -- > 2.55.0 >
