From 036aced92fa45d63ef648349e436e97556f5150c Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 27 Jul 2001 01:08:59 +0000 Subject: Make PMAP_SHPGPERPROC tunable. One shouldn't need to recompile a kernel for this, since it is easy to run into with large systems with lots of shared mmap space. Obtained from: yahoo --- sys/powerpc/aim/mmu_oea.c | 6 +++++- sys/powerpc/powerpc/mmu_oea.c | 6 +++++- sys/powerpc/powerpc/pmap.c | 6 +++++- 3 files changed, 15 insertions(+), 3 deletions(-) (limited to 'sys/powerpc') diff --git a/sys/powerpc/aim/mmu_oea.c b/sys/powerpc/aim/mmu_oea.c index b7f2d05..cc28d4b 100644 --- a/sys/powerpc/aim/mmu_oea.c +++ b/sys/powerpc/aim/mmu_oea.c @@ -62,6 +62,7 @@ static const char rcsid[] = #include #include +#include #include #include #include @@ -1639,7 +1640,10 @@ pmap_growkernel(vm_offset_t addr) void pmap_init2() { - pv_entry_max = PMAP_SHPGPERPROC * maxproc + vm_page_array_size; + int shpgperproc = PMAP_SHPGPERPROC; + + TUNABLE_INT_FETCH("vm.pmap.shpgperproc", &shpgperproc); + pv_entry_max = shpgperproc * maxproc + vm_page_array_size; pv_entry_high_water = 9 * (pv_entry_max / 10); zinitna(pvzone, &pvzone_obj, NULL, 0, pv_entry_max, ZONE_INTERRUPT, 1); } diff --git a/sys/powerpc/powerpc/mmu_oea.c b/sys/powerpc/powerpc/mmu_oea.c index b7f2d05..cc28d4b 100644 --- a/sys/powerpc/powerpc/mmu_oea.c +++ b/sys/powerpc/powerpc/mmu_oea.c @@ -62,6 +62,7 @@ static const char rcsid[] = #include #include +#include #include #include #include @@ -1639,7 +1640,10 @@ pmap_growkernel(vm_offset_t addr) void pmap_init2() { - pv_entry_max = PMAP_SHPGPERPROC * maxproc + vm_page_array_size; + int shpgperproc = PMAP_SHPGPERPROC; + + TUNABLE_INT_FETCH("vm.pmap.shpgperproc", &shpgperproc); + pv_entry_max = shpgperproc * maxproc + vm_page_array_size; pv_entry_high_water = 9 * (pv_entry_max / 10); zinitna(pvzone, &pvzone_obj, NULL, 0, pv_entry_max, ZONE_INTERRUPT, 1); } diff --git a/sys/powerpc/powerpc/pmap.c b/sys/powerpc/powerpc/pmap.c index b7f2d05..cc28d4b 100644 --- a/sys/powerpc/powerpc/pmap.c +++ b/sys/powerpc/powerpc/pmap.c @@ -62,6 +62,7 @@ static const char rcsid[] = #include #include +#include #include #include #include @@ -1639,7 +1640,10 @@ pmap_growkernel(vm_offset_t addr) void pmap_init2() { - pv_entry_max = PMAP_SHPGPERPROC * maxproc + vm_page_array_size; + int shpgperproc = PMAP_SHPGPERPROC; + + TUNABLE_INT_FETCH("vm.pmap.shpgperproc", &shpgperproc); + pv_entry_max = shpgperproc * maxproc + vm_page_array_size; pv_entry_high_water = 9 * (pv_entry_max / 10); zinitna(pvzone, &pvzone_obj, NULL, 0, pv_entry_max, ZONE_INTERRUPT, 1); } -- cgit v1.1