From: Zi Yan <[email protected]>

Bit 27 is used to identify 1GB THP.

Signed-off-by: Zi Yan <[email protected]>
---
 fs/proc/page.c                         | 2 ++
 include/uapi/linux/kernel-page-flags.h | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/fs/proc/page.c b/fs/proc/page.c
index f3b39a7d2bf3..e4e2ad3612c9 100644
--- a/fs/proc/page.c
+++ b/fs/proc/page.c
@@ -161,6 +161,8 @@ u64 stable_page_flags(struct page *page)
                        u |= BIT_ULL(KPF_ZERO_PAGE);
                        u |= BIT_ULL(KPF_THP);
                }
+               if (compound_order(head) == HPAGE_PUD_ORDER)
+                       u |= 1 << KPF_PUD_THP;
        } else if (is_zero_pfn(page_to_pfn(page)))
                u |= BIT_ULL(KPF_ZERO_PAGE);
 
diff --git a/include/uapi/linux/kernel-page-flags.h 
b/include/uapi/linux/kernel-page-flags.h
index 6f2f2720f3ac..cdeb33ab655c 100644
--- a/include/uapi/linux/kernel-page-flags.h
+++ b/include/uapi/linux/kernel-page-flags.h
@@ -36,5 +36,7 @@
 #define KPF_ZERO_PAGE          24
 #define KPF_IDLE               25
 #define KPF_PGTABLE            26
+#define KPF_PUD_THP            27
+
 
 #endif /* _UAPILINUX_KERNEL_PAGE_FLAGS_H */
-- 
2.28.0

Reply via email to