Message ID | 20200902180628.4052244-4-zi.yan@sent.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | 1GB THP support on x86_64 | expand |
On Wed, Sep 02, 2020 at 02:06:15PM -0400, Zi Yan wrote: > From: Zi Yan <ziy@nvidia.com> > > Bit 27 is used to identify 1GB THP. > > Signed-off-by: Zi Yan <ziy@nvidia.com> > --- > 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 > + Redundant newline. > #endif /* _UAPILINUX_KERNEL_PAGE_FLAGS_H */ > -- > 2.28.0 > >
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 */