Re: [PATCH 4/4] mm: introduce per-node proactive reclaim interface
From: Andrew Morton
Date: Thu Jul 17 2025 - 18:46:59 EST
On Thu, 17 Jul 2025 09:26:37 -0700 Davidlohr Bueso <dave@xxxxxxxxxxxx> wrote:
> >> + if (test_and_set_bit_lock(PGDAT_RECLAIM_LOCKED,
> >> + &pgdat->flags))
> >> + return -EAGAIN;
> >
> >Isn't EBUSY a better choice here?
> >At least to distinguish between no reclaimable memory left and
> >somebody else is abusing the same interface cases.
>
> Yes, I agree.
From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Subject: mm-introduce-per-node-proactive-reclaim-interface-fix
Date: Thu Jul 17 03:44:14 PM PDT 2025
user_proactive_reclaim(): return -EBUSY on PGDAT_RECLAIM_LOCKED
contention, per Roman
Cc: Davidlohr Bueso <dave@xxxxxxxxxxxx>
Cc: Johannes Weiner <hannes@xxxxxxxxxxx>
Cc: Michal Hocko <mhocko@xxxxxxxxxx>
Cc: Roman Gushchin <roman.gushchin@xxxxxxxxx>
Cc: Shakeel Butt <shakeel.butt@xxxxxxxxx>
Cc: Yosry Ahmed <yosryahmed@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---
mm/vmscan.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/mm/vmscan.c~mm-introduce-per-node-proactive-reclaim-interface-fix
+++ a/mm/vmscan.c
@@ -7818,7 +7818,7 @@ int user_proactive_reclaim(char *buf,
if (test_and_set_bit_lock(PGDAT_RECLAIM_LOCKED,
&pgdat->flags))
- return -EAGAIN;
+ return -EBUSY;
reclaimed = __node_reclaim(pgdat, gfp_mask,
batch_size, &sc);
_