diff options
author | Andi Kleen <ak@suse.de> | 2008-07-24 00:27:42 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-24 13:47:17 -0400 |
commit | e5ff215941d59f8ae6bf58f6428dc5c26745a612 (patch) | |
tree | d8a3f730124d6608c6c880515625ca2d4e4ed044 /kernel/sysctl.c | |
parent | a5516438959d90b071ff0a484ce4f3f523dc3152 (diff) |
hugetlb: multiple hstates for multiple page sizes
Add basic support for more than one hstate in hugetlbfs. This is the key
to supporting multiple hugetlbfs page sizes at once.
- Rather than a single hstate, we now have an array, with an iterator
- default_hstate continues to be the struct hstate which we use by default
- Add functions for architectures to register new hstates
[akpm@linux-foundation.org: coding-style fixes]
Acked-by: Adam Litke <agl@us.ibm.com>
Acked-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/sysctl.c')
-rw-r--r-- | kernel/sysctl.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 1f7b3b76a166..1a8299d1fe59 100644 --- a/kernel/sysctl.c +++ b/kernel/sysctl.c | |||
@@ -959,7 +959,7 @@ static struct ctl_table vm_table[] = { | |||
959 | #ifdef CONFIG_HUGETLB_PAGE | 959 | #ifdef CONFIG_HUGETLB_PAGE |
960 | { | 960 | { |
961 | .procname = "nr_hugepages", | 961 | .procname = "nr_hugepages", |
962 | .data = &max_huge_pages, | 962 | .data = NULL, |
963 | .maxlen = sizeof(unsigned long), | 963 | .maxlen = sizeof(unsigned long), |
964 | .mode = 0644, | 964 | .mode = 0644, |
965 | .proc_handler = &hugetlb_sysctl_handler, | 965 | .proc_handler = &hugetlb_sysctl_handler, |
@@ -985,10 +985,12 @@ static struct ctl_table vm_table[] = { | |||
985 | { | 985 | { |
986 | .ctl_name = CTL_UNNUMBERED, | 986 | .ctl_name = CTL_UNNUMBERED, |
987 | .procname = "nr_overcommit_hugepages", | 987 | .procname = "nr_overcommit_hugepages", |
988 | .data = &sysctl_overcommit_huge_pages, | 988 | .data = NULL, |
989 | .maxlen = sizeof(sysctl_overcommit_huge_pages), | 989 | .maxlen = sizeof(unsigned long), |
990 | .mode = 0644, | 990 | .mode = 0644, |
991 | .proc_handler = &hugetlb_overcommit_handler, | 991 | .proc_handler = &hugetlb_overcommit_handler, |
992 | .extra1 = (void *)&hugetlb_zero, | ||
993 | .extra2 = (void *)&hugetlb_infinity, | ||
992 | }, | 994 | }, |
993 | #endif | 995 | #endif |
994 | { | 996 | { |