[PATCH v2 3/6] mm: rmap: add a ZONE_DEVICE folio warning in folio_referenced()
From: Baolin Wang
Date: Fri Feb 27 2026 - 04:45:10 EST
The folio_referenced() is used to test whether a folio was referenced during
reclaim. Moreover, ZONE_DEVICE folios are controlled by their device driver,
have a lifetime tied to that driver, and are never placed on the LRU list.
That means we should never try to reclaim ZONE_DEVICE folios, so add a warning
to catch this unexpected behavior in folio_referenced() to avoid confusion,
as discussed in the previous thread[1].
[1] https://lore.kernel.org/all/16fb7985-ec0f-4b56-91e7-404c5114f899@xxxxxxxxxx/
Reviewed-by: Alistair Popple <apopple@xxxxxxxxxx>
Acked-by: David Hildenbrand (Arm) <david@xxxxxxxxxx>
Signed-off-by: Baolin Wang <baolin.wang@xxxxxxxxxxxxxxxxx>
---
mm/rmap.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/mm/rmap.c b/mm/rmap.c
index bff8f222004e..11cc6171344f 100644
--- a/mm/rmap.c
+++ b/mm/rmap.c
@@ -1065,6 +1065,7 @@ int folio_referenced(struct folio *folio, int is_locked,
.invalid_vma = invalid_folio_referenced_vma,
};
+ VM_WARN_ON_ONCE_FOLIO(folio_is_zone_device(folio), folio);
*vm_flags = 0;
if (!pra.mapcount)
return 0;
--
2.47.3