Mainstream has been updated since we pulled this feature. Need to pull it again.
This reverts commit e130f803d53a5ae484726304c13406b387e327cb. --- Documentation/vm/pagemap.txt | 6 +---- fs/proc/Kconfig | 5 ++--- fs/proc/page.c | 53 -------------------------------------------- 3 files changed, 3 insertions(+), 61 deletions(-) diff --git a/Documentation/vm/pagemap.txt b/Documentation/vm/pagemap.txt index e37cff950ae8..fd7c3cfddd8e 100644 --- a/Documentation/vm/pagemap.txt +++ b/Documentation/vm/pagemap.txt @@ -5,7 +5,7 @@ pagemap is a new (as of 2.6.25) set of interfaces in the kernel that allow userspace programs to examine the page tables and related information by reading files in /proc. -There are four components to pagemap: +There are three components to pagemap: * /proc/pid/pagemap. This file lets a userspace process find out which physical frame each virtual page is mapped to. It contains one 64-bit @@ -63,10 +63,6 @@ There are four components to pagemap: 21. KSM 22. THP - * /proc/kpagecgroup. This file contains a 64-bit inode number of the - memory cgroup each page is charged to, indexed by PFN. Only available when - CONFIG_MEMCG is set. - Short descriptions to the page flags: 0. LOCKED diff --git a/fs/proc/Kconfig b/fs/proc/Kconfig index e8ed22d2ba5b..15af6222f8a4 100644 --- a/fs/proc/Kconfig +++ b/fs/proc/Kconfig @@ -65,6 +65,5 @@ config PROC_PAGE_MONITOR help Various /proc files exist to monitor process memory utilization: /proc/pid/smaps, /proc/pid/clear_refs, /proc/pid/pagemap, - /proc/kpagecount, /proc/kpageflags, and /proc/kpagecgroup. - Disabling these interfaces will reduce the size of the kernel - by approximately 4kb. + /proc/kpagecount, and /proc/kpageflags. Disabling these + interfaces will reduce the size of the kernel by approximately 4kb. diff --git a/fs/proc/page.c b/fs/proc/page.c index f19897320599..54e111e436a5 100644 --- a/fs/proc/page.c +++ b/fs/proc/page.c @@ -8,7 +8,6 @@ #include <linux/proc_fs.h> #include <linux/seq_file.h> #include <linux/hugetlb.h> -#include <linux/memcontrol.h> #include <linux/kernel-page-flags.h> #include <asm/uaccess.h> #include "internal.h" @@ -213,62 +212,10 @@ static const struct file_operations proc_kpageflags_operations = { .read = kpageflags_read, }; -#ifdef CONFIG_MEMCG -static ssize_t kpagecgroup_read(struct file *file, char __user *buf, - size_t count, loff_t *ppos) -{ - u64 __user *out = (u64 __user *)buf; - struct page *ppage; - unsigned long src = *ppos; - unsigned long pfn; - ssize_t ret = 0; - u64 ino; - - pfn = src / KPMSIZE; - count = min_t(unsigned long, count, (max_pfn * KPMSIZE) - src); - if (src & KPMMASK || count & KPMMASK) - return -EINVAL; - - while (count > 0) { - if (pfn_valid(pfn)) - ppage = pfn_to_page(pfn); - else - ppage = NULL; - - if (ppage) - ino = page_cgroup_ino(ppage); - else - ino = 0; - - if (put_user(ino, out)) { - ret = -EFAULT; - break; - } - - pfn++; - out++; - count -= KPMSIZE; - } - - *ppos += (char __user *)out - buf; - if (!ret) - ret = (char __user *)out - buf; - return ret; -} - -static const struct file_operations proc_kpagecgroup_operations = { - .llseek = mem_lseek, - .read = kpagecgroup_read, -}; -#endif /* CONFIG_MEMCG */ - static int __init proc_page_init(void) { proc_create("kpagecount", S_IRUSR, NULL, &proc_kpagecount_operations); proc_create("kpageflags", S_IRUSR, NULL, &proc_kpageflags_operations); -#ifdef CONFIG_MEMCG - proc_create("kpagecgroup", S_IRUSR, NULL, &proc_kpagecgroup_operations); -#endif return 0; } module_init(proc_page_init); -- 2.1.4 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel