Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/sommerfeld_i386mp_1]: src/sys/arch/i386/i386 Back out previous; the solu...
details: https://anonhg.NetBSD.org/src/rev/616bec3ae8dd
branches: sommerfeld_i386mp_1
changeset: 482373:616bec3ae8dd
user: enami <enami%NetBSD.org@localhost>
date: Mon Feb 12 04:05:46 2001 +0000
description:
Back out previous; the solution might cause a deadlock between pool cache's
lock and pmaps_lock. Probably, just detect nkpde update may be easier.
diffstat:
sys/arch/i386/i386/pmap.c | 29 +++--------------------------
1 files changed, 3 insertions(+), 26 deletions(-)
diffs (58 lines):
diff -r 714ef72a88e4 -r 616bec3ae8dd sys/arch/i386/i386/pmap.c
--- a/sys/arch/i386/i386/pmap.c Sun Feb 11 09:27:57 2001 +0000
+++ b/sys/arch/i386/i386/pmap.c Mon Feb 12 04:05:46 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.83.2.30 2001/02/11 09:12:15 enami Exp $ */
+/* $NetBSD: pmap.c,v 1.83.2.31 2001/02/12 04:05:46 enami Exp $ */
/*
*
@@ -415,7 +415,6 @@
struct pool pmap_pdp_pool;
struct pool_cache pmap_pdp_cache;
-void *pmap_pdp_pool_page_alloc(unsigned long, int, int);
int pmap_pdp_ctor(void *, void *, int);
caddr_t vmmap; /* XXX: used by mem.c... it should really uvm_map_reserve it */
@@ -1055,9 +1054,9 @@
* initialize the PDE pool and cache.
*/
pool_init(&pmap_pdp_pool, PAGE_SIZE, 0, 0, 0, "pdppl",
- 0, pmap_pdp_pool_page_alloc, pool_page_free_nointr, M_VMPMAP);
+ 0, pool_page_alloc_nointr, pool_page_free_nointr, M_VMPMAP);
pool_cache_init(&pmap_pdp_cache, &pmap_pdp_pool,
- pmap_pdp_ctor, NULL, NULL);
+ pmap_pdp_ctor, NULL, NULL);
/*
* ensure the TLB is sync'd with reality by flushing it...
@@ -1664,28 +1663,6 @@
*/
/*
- * pmap_pdp_pool_page_alloc: allocator for the PDP pool page.
- */
-
-void *
-pmap_pdp_pool_page_alloc(unsigned long sz, int flags, int mtype)
-{
- void *pg;
-
- /*
- * There was no free items in the PDP pool. We have to
- * release pmaps_lock since pmap_growkernel() might be called
- * during page allocation. Reacquire the lock before
- * constructing PDP cache.
- */
- simple_unlock(&pmaps_lock);
- pg = pool_page_alloc_nointr(sz, flags, mtype);
- simple_lock(&pmaps_lock);
-
- return (pg);
-}
-
-/*
* pmap_pdp_ctor: constructor for the PDP cache.
*/
Home |
Main Index |
Thread Index |
Old Index