diff options
author | 2020-10-26 18:35:41 +0000 | |
---|---|---|
committer | 2020-10-26 18:35:41 +0000 | |
commit | 1cce8868d902bffc287beeab5697a941383dbed9 (patch) | |
tree | e1774bb1a476efb650faf5c24ba5a9512725b897 | |
parent | sync (diff) | |
download | wireguard-openbsd-1cce8868d902bffc287beeab5697a941383dbed9.tar.xz wireguard-openbsd-1cce8868d902bffc287beeab5697a941383dbed9.zip |
Switch the pmap and PDP pools to IPL_VM, drop the PR_WAITOK flag from the
PDP pool and use the single page allocator for the PDP pool. This makes
pmap_destroy(9) mpsafe while preventing additional pressure on the
interrupt-safe kernel map.
ok mpi@
-rw-r--r-- | sys/arch/amd64/amd64/pmap.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/arch/amd64/amd64/pmap.c b/sys/arch/amd64/amd64/pmap.c index 10ab3da2949..ecfb4096e94 100644 --- a/sys/arch/amd64/amd64/pmap.c +++ b/sys/arch/amd64/amd64/pmap.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pmap.c,v 1.139 2020/09/13 12:05:23 jsg Exp $ */ +/* $OpenBSD: pmap.c,v 1.140 2020/10/26 18:35:41 kettenis Exp $ */ /* $NetBSD: pmap.c,v 1.3 2003/05/08 18:13:13 thorpej Exp $ */ /* @@ -854,7 +854,7 @@ pmap_bootstrap(paddr_t first_avail, paddr_t max_pa) * initialize the pmap pools. */ - pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, IPL_NONE, 0, + pool_init(&pmap_pmap_pool, sizeof(struct pmap), 0, IPL_VM, 0, "pmappl", NULL); pool_init(&pmap_pv_pool, sizeof(struct pv_entry), 0, IPL_VM, 0, "pvpl", &pool_allocator_single); @@ -864,8 +864,8 @@ pmap_bootstrap(paddr_t first_avail, paddr_t max_pa) * initialize the PDE pool. */ - pool_init(&pmap_pdp_pool, PAGE_SIZE, 0, IPL_NONE, PR_WAITOK, - "pdppl", NULL); + pool_init(&pmap_pdp_pool, PAGE_SIZE, 0, IPL_VM, 0, + "pdppl", &pool_allocator_single); kpm->pm_pdir_intel = NULL; kpm->pm_pdirpa_intel = 0; |