Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F161581494
D27156.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D27156.diff
View Options
Index: head/sys/powerpc/aim/mmu_oea64.c
===================================================================
--- head/sys/powerpc/aim/mmu_oea64.c
+++ head/sys/powerpc/aim/mmu_oea64.c
@@ -319,13 +319,8 @@
/* MD page flag indicating that the page is a superpage. */
#define MDPG_ATTR_SP 0x40000000
-static SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0,
- "VM/pmap parameters");
+SYSCTL_DECL(_vm_pmap);
-static int superpages_enabled = 0;
-SYSCTL_INT(_vm_pmap, OID_AUTO, superpages_enabled, CTLFLAG_RDTUN,
- &superpages_enabled, 0, "Enable support for transparent superpages");
-
static SYSCTL_NODE(_vm_pmap, OID_AUTO, sp, CTLFLAG_RD, 0,
"SP page mapping counters");
@@ -1968,7 +1963,11 @@
/*
* Are large page mappings enabled?
+ *
+ * While HPT superpages are not better tested, leave it disabled by
+ * default.
*/
+ superpages_enabled = 0;
TUNABLE_INT_FETCH("vm.pmap.superpages_enabled", &superpages_enabled);
if (superpages_enabled) {
KASSERT(MAXPAGESIZES > 1 && pagesizes[1] == 0,
Index: head/sys/powerpc/aim/mmu_radix.c
===================================================================
--- head/sys/powerpc/aim/mmu_radix.c
+++ head/sys/powerpc/aim/mmu_radix.c
@@ -385,11 +385,8 @@
vm_paddr_t dmaplimit;
-SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters");
+SYSCTL_DECL(_vm_pmap);
-static int pg_ps_enabled = 1;
-SYSCTL_INT(_vm_pmap, OID_AUTO, pg_ps_enabled, CTLFLAG_RDTUN | CTLFLAG_NOFETCH,
- &pg_ps_enabled, 0, "Are large page mappings enabled?");
#ifdef INVARIANTS
#define VERBOSE_PMAP 0
#define VERBOSE_PROTECT 0
@@ -904,7 +901,7 @@
bool
mmu_radix_ps_enabled(pmap_t pmap)
{
- return (pg_ps_enabled && (pmap->pm_flags & PMAP_PDE_SUPERPAGE) != 0);
+ return (superpages_enabled && (pmap->pm_flags & PMAP_PDE_SUPERPAGE) != 0);
}
static pt_entry_t *
@@ -3609,8 +3606,8 @@
/*
* Are large page mappings enabled?
*/
- TUNABLE_INT_FETCH("vm.pmap.pg_ps_enabled", &pg_ps_enabled);
- if (pg_ps_enabled) {
+ TUNABLE_INT_FETCH("vm.pmap.superpages_enabled", &superpages_enabled);
+ if (superpages_enabled) {
KASSERT(MAXPAGESIZES > 1 && pagesizes[1] == 0,
("pmap_init: can't assign to pagesizes[1]"));
pagesizes[1] = L3_PAGE_SIZE;
Index: head/sys/powerpc/include/pmap.h
===================================================================
--- head/sys/powerpc/include/pmap.h
+++ head/sys/powerpc/include/pmap.h
@@ -336,6 +336,7 @@
extern int pmap_bootstrapped;
extern int radix_mmu;
+extern int superpages_enabled;
vm_offset_t pmap_early_io_map(vm_paddr_t pa, vm_size_t size);
void pmap_early_io_unmap(vm_offset_t va, vm_size_t size);
Index: head/sys/powerpc/powerpc/pmap_dispatch.c
===================================================================
--- head/sys/powerpc/powerpc/pmap_dispatch.c
+++ head/sys/powerpc/powerpc/pmap_dispatch.c
@@ -50,6 +50,7 @@
#include <sys/kerneldump.h>
#include <sys/ktr.h>
#include <sys/mutex.h>
+#include <sys/sysctl.h>
#include <sys/systm.h>
#include <vm/vm.h>
@@ -79,6 +80,12 @@
int pmap_bootstrapped;
/* Default level 0 reservations consist of 512 pages (2MB superpage). */
int vm_level_0_order = 9;
+
+SYSCTL_NODE(_vm, OID_AUTO, pmap, CTLFLAG_RD, 0, "VM/pmap parameters");
+
+int superpages_enabled = 0;
+SYSCTL_INT(_vm_pmap, OID_AUTO, superpages_enabled, CTLFLAG_RDTUN,
+ &superpages_enabled, 0, "Enable support for transparent superpages");
#ifdef AIM
int
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Jul 6, 1:51 AM (13 h, 55 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34731872
Default Alt Text
D27156.diff (3 KB)
Attached To
Mode
D27156: [PowerPC] Don't overwrite vm.pmap sysctl node
Attached
Detach File
Event Timeline
Log In to Comment