[PATCH 3/6] pagemap: export KPF_THP

From: Naoya Horiguchi
Date: Wed Feb 08 2012 - 10:53:21 EST


This flag shows that a given pages is a subpage of transparent hugepage.
It helps us debug and test kernel by showing physical address of thp.

Signed-off-by: Naoya Horiguchi <n-horiguchi@xxxxxxxxxxxxx>
Reviewed-by: Wu Fengguang <fengguang.wu@xxxxxxxxx>
Reviewed-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
Acked-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>

Changes since v2:
- replace if with else-if not to set KPF_THP for hugetlbfs page

Changes since v1:
- remove unnecessary ifdefs
- fix confusing patch description
---
fs/proc/page.c | 2 ++
include/linux/kernel-page-flags.h | 1 +
2 files changed, 3 insertions(+), 0 deletions(-)

diff --git 3.3-rc2.orig/fs/proc/page.c 3.3-rc2/fs/proc/page.c
index 6d8e6a9..7fcd0d6 100644
--- 3.3-rc2.orig/fs/proc/page.c
+++ 3.3-rc2/fs/proc/page.c
@@ -115,6 +115,8 @@ u64 stable_page_flags(struct page *page)
u |= 1 << KPF_COMPOUND_TAIL;
if (PageHuge(page))
u |= 1 << KPF_HUGE;
+ else if (PageTransCompound(page))
+ u |= 1 << KPF_THP;

/*
* Caveats on high order pages: page->_count will only be set
diff --git 3.3-rc2.orig/include/linux/kernel-page-flags.h 3.3-rc2/include/linux/kernel-page-flags.h
index bd92a89..26a6571 100644
--- 3.3-rc2.orig/include/linux/kernel-page-flags.h
+++ 3.3-rc2/include/linux/kernel-page-flags.h
@@ -30,6 +30,7 @@
#define KPF_NOPAGE 20

#define KPF_KSM 21
+#define KPF_THP 22

/* kernel hacking assistances
* WARNING: subject to change, never rely on them!
--
1.7.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/