[PATCH v4 01/36] mm: Move PageDoubleMap bit
From: Matthew Wilcox
Date: Fri May 15 2020 - 09:18:33 EST
From: "Matthew Wilcox (Oracle)" <willy@xxxxxxxxxxxxx>
PG_private_2 is defined as being PF_ANY (applicable to tail pages
as well as regular & head pages). That means that the first tail
page of a double-map page will appear to have Private2 set. Use the
Workingset bit instead which is defined as PF_HEAD so any attempt to
access the Workingset bit on a tail page will redirect to the head page's
Workingset bit.
Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
---
include/linux/page-flags.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h
index 222f6f7b2bb3..de6e0696f55c 100644
--- a/include/linux/page-flags.h
+++ b/include/linux/page-flags.h
@@ -164,7 +164,7 @@ enum pageflags {
PG_slob_free = PG_private,
/* Compound pages. Stored in first tail page's flags */
- PG_double_map = PG_private_2,
+ PG_double_map = PG_workingset,
/* non-lru isolated movable page */
PG_isolated = PG_reclaim,
--
2.26.2