Module Name: src Committed By: skrll Date: Mon May 5 05:55:21 UTC 2014
Modified Files: src/sys/arch/mips/mips: pmap_segtab.c Log Message: In the MULTIPROCESSOR case where another thread wins the race to allocate a new segtab page call mips_pmap_unmap_poolpage on the page our thread allocated and called mips_pmap_map_poolpage for. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 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_segtab.c diff -u src/sys/arch/mips/mips/pmap_segtab.c:1.6 src/sys/arch/mips/mips/pmap_segtab.c:1.7 --- src/sys/arch/mips/mips/pmap_segtab.c:1.6 Sun May 4 17:06:23 2014 +++ src/sys/arch/mips/mips/pmap_segtab.c Mon May 5 05:55:21 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap_segtab.c,v 1.6 2014/05/04 17:06:23 skrll Exp $ */ +/* $NetBSD: pmap_segtab.c,v 1.7 2014/05/05 05:55:21 skrll Exp $ */ /*- * Copyright (c) 1998, 2001 The NetBSD Foundation, Inc. @@ -67,7 +67,7 @@ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pmap_segtab.c,v 1.6 2014/05/04 17:06:23 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pmap_segtab.c,v 1.7 2014/05/05 05:55:21 skrll Exp $"); /* * Manages physical address maps. @@ -455,6 +455,7 @@ pmap_pte_reserve(pmap_t pmap, vaddr_t va * free the page we just allocated. */ if (__predict_false(opte != NULL)) { + mips_pmap_unmap_poolpage(pa); uvm_pagefree(pg); pte = opte; }