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 *