Re: [PATCH] mm/vmscan: reclaim every zone in per-node proactive reclaim

From: Gregory Price

Date: Wed Oct 21 2026 - 09:42:46 EST


On Wed, Oct 21, 2026 at 01:31:32PM +0100, Lorenzo Stoakes (ARM) wrote:
> On Mon, Oct 19, 2026 at 02:50:02PM -0400, Gregory Price (Meta) wrote:
> > user_proactive_reclaim() limits per-node reclaim to
> > gfp_zone(GFP_KERNEL), which is ZONE_NORMAL. Proactive reclaim serves no
> > allocation, but that limit makes shrink_node() skip every ZONE_MOVABLE
> > folio, so writing to /sys/devices/system/node/nodeN/reclaim never
> > reclaims a node's movable memory. A movable-only node, such as dax/kmem
> > or hotplugged memory onlined movable, reclaims nothing and fails with
> > -EAGAIN.
> >
> > To reproduce, fill a movable-only node with clean page cache and write
> > 200M to its nodeN/reclaim: the write fails with -EAGAIN and the page
> > cache stays. The same write to a ZONE_NORMAL node frees 200MB.
> >
> > Scan every zone, as memory.reclaim does.
> >
> > Fixes: b980077899ea4 ("mm: introduce per-node proactive reclaim interface")
> > Cc: stable@xxxxxxxxxxxxxxx
> > Signed-off-by: Gregory Price (Meta) <gourry@xxxxxxxxxx>
>
> Seems sensible to me, and since it's become the review of the ages (TM) let's
> try and get some kind of tag record here :P
>
> Acked-by: Lorenzo Stoakes (ARM) <ljs@xxxxxxxxxx>
>

1 line change
20 acks

This is the way.

~Gregory