summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Morton <akpm@digeo.com>2002-11-10 02:02:00 -0800
committerDavid S. Miller <davem@nuts.ninka.net>2002-11-10 02:02:00 -0800
commit919de8f537c46472a8e5d0417fa211d5ecd58787 (patch)
tree3af8b9bf996b38d2799595cf5552422f6a767c10
parent20078cee4a009732f9498a9ede5a33aebd9078d4 (diff)
[PATCH] hugetlb: remove /proc/ intrusion
Patch from William Lee Irwin III <wli@holomorphy.com> This patch removes hugetlb's intrusion into /proc/
-rw-r--r--arch/i386/mm/hugetlbpage.c11
-rw-r--r--fs/proc/proc_misc.c15
-rw-r--r--include/linux/hugetlb.h2
3 files changed, 15 insertions, 13 deletions
diff --git a/arch/i386/mm/hugetlbpage.c b/arch/i386/mm/hugetlbpage.c
index 2516365a9cf3..23a95a73121c 100644
--- a/arch/i386/mm/hugetlbpage.c
+++ b/arch/i386/mm/hugetlbpage.c
@@ -582,6 +582,17 @@ static int __init hugetlb_init(void)
}
module_init(hugetlb_init);
+int hugetlb_report_meminfo(char *buf)
+{
+ return sprintf(buf,
+ "HugePages_Total: %5lu\n"
+ "HugePages_Free: %5lu\n"
+ "Hugepagesize: %5lu kB\n",
+ htlbzone_pages,
+ htlbpagemem,
+ HPAGE_SIZE/1024);
+}
+
static struct page * hugetlb_nopage(struct vm_area_struct * area, unsigned long address, int unused)
{
BUG();
diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c
index 562ee41f2759..18a39634aba8 100644
--- a/fs/proc/proc_misc.c
+++ b/fs/proc/proc_misc.c
@@ -40,7 +40,7 @@
#include <linux/times.h>
#include <linux/profile.h>
#include <linux/blkdev.h>
-
+#include <linux/hugetlb.h>
#include <asm/uaccess.h>
#include <asm/pgtable.h>
#include <asm/io.h>
@@ -199,19 +199,8 @@ static int meminfo_read_proc(char *page, char **start, off_t off,
ps.nr_reverse_maps
);
-#ifdef CONFIG_HUGETLB_PAGE
- {
- extern unsigned long htlbpagemem, htlbzone_pages;
- len += sprintf(page + len,
- "HugePages_Total: %5lu\n"
- "HugePages_Free: %5lu\n"
- "Hugepagesize: %5lu kB\n",
- htlbzone_pages,
- htlbpagemem,
- HPAGE_SIZE/1024);
- }
+ len += hugetlb_report_meminfo(page + len);
-#endif
return proc_calc_metrics(page, start, off, count, eof, len);
#undef K
}
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h
index d113d54d8db2..37c3621b2f03 100644
--- a/include/linux/hugetlb.h
+++ b/include/linux/hugetlb.h
@@ -17,6 +17,7 @@ void zap_hugepage_range(struct vm_area_struct *, unsigned long, unsigned long);
void unmap_hugepage_range(struct vm_area_struct *, unsigned long, unsigned long);
int hugetlb_prefault(struct address_space *, struct vm_area_struct *);
void huge_page_release(struct page *);
+int hugetlb_report_meminfo(char *);
extern int htlbpage_max;
@@ -32,6 +33,7 @@ static inline int is_vm_hugetlb_page(struct vm_area_struct *vma)
#define zap_hugepage_range(vma, start, len) BUG()
#define unmap_hugepage_range(vma, start, end) BUG()
#define huge_page_release(page) BUG()
+#define hugetlb_report_meminfo(buf) 0
#endif /* !CONFIG_HUGETLB_PAGE */