Module Name: src
Committed By: matt
Date: Fri Feb 10 07:14:49 UTC 2012
Modified Files:
src/sys/arch/mips/mips [matt-nb5-mips64]: pmap.c pmap_segtab.c
Log Message:
Don't double claim a kmem page.
To generate a diff of this commit:
cvs rdiff -u -r1.179.16.36 -r1.179.16.37 src/sys/arch/mips/mips/pmap.c
cvs rdiff -u -r1.1.2.12 -r1.1.2.13 src/sys/arch/mips/mips/pmap_segtab.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/mips/mips/pmap.c
diff -u src/sys/arch/mips/mips/pmap.c:1.179.16.36 src/sys/arch/mips/mips/pmap.c:1.179.16.37
--- src/sys/arch/mips/mips/pmap.c:1.179.16.36 Thu Feb 9 03:14:45 2012
+++ src/sys/arch/mips/mips/pmap.c Fri Feb 10 07:14:49 2012
@@ -2513,6 +2513,7 @@ pmap_pv_page_alloc(struct pool *pp, int
if (pg == NULL)
return NULL;
+ uvm_km_pageclaim(pg);
return (void *)mips_pmap_map_poolpage(VM_PAGE_TO_PHYS(pg));
}
@@ -2607,9 +2608,6 @@ mips_pmap_alloc_poolpage(int flags)
} else {
pg = uvm_pagealloc(NULL, 0, NULL, flags);
}
- if (pg != NULL) {
- uvm_km_pageclaim(pg);
- }
return pg;
}
Index: src/sys/arch/mips/mips/pmap_segtab.c
diff -u src/sys/arch/mips/mips/pmap_segtab.c:1.1.2.12 src/sys/arch/mips/mips/pmap_segtab.c:1.1.2.13
--- src/sys/arch/mips/mips/pmap_segtab.c:1.1.2.12 Thu Feb 9 03:14:45 2012
+++ src/sys/arch/mips/mips/pmap_segtab.c Fri Feb 10 07:14:49 2012
@@ -149,7 +149,13 @@ uint32_t npage_segtab;
static inline struct vm_page *
pmap_pte_pagealloc(void)
{
- return mips_pmap_alloc_poolpage(UVM_PGA_ZERO|UVM_PGA_USERESERVE);
+ struct vm_page *pg;
+
+ pg = PMAP_ALLOC_POOLPAGE(UVM_PGA_ZERO|UVM_PGA_USERESERVE);
+ if (pg)
+ uvm_km_pageclaim(pg);
+
+ return pg;
}
static inline pt_entry_t *