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 * 

Reply via email to