summaryrefslogtreecommitdiffstats
path: root/sys/alpha
diff options
context:
space:
mode:
authorade <ade@FreeBSD.org>2005-10-21 19:42:43 +0000
committerade <ade@FreeBSD.org>2005-10-21 19:42:43 +0000
commit25703033ca920cff93c8a4ee483e99982bbd6438 (patch)
treec2e89996135a257cc2b5a7bb932fa7c5ffc23491 /sys/alpha
parentf2b9dccde579b1e5cf7fdc652bafb3cff92e2b87 (diff)
downloadFreeBSD-src-25703033ca920cff93c8a4ee483e99982bbd6438.zip
FreeBSD-src-25703033ca920cff93c8a4ee483e99982bbd6438.tar.gz
Specifically panic() in the case where pmap_insert_entry() fails to
get a new pv under high system load where the available pv entries have been exhausted before the pagedaemon has a chance to wake up to reclaim some. Prior to this, the NULL pointer dereference ended up causing secondary panics with rather less than useful resulting tracebacks. Reviewed by: alc, jhb MFC after: 1 week
Diffstat (limited to 'sys/alpha')
-rw-r--r--sys/alpha/alpha/pmap.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/alpha/alpha/pmap.c b/sys/alpha/alpha/pmap.c
index 59017cf..c1d9ffa 100644
--- a/sys/alpha/alpha/pmap.c
+++ b/sys/alpha/alpha/pmap.c
@@ -1367,6 +1367,8 @@ pmap_insert_entry(pmap_t pmap, vm_offset_t va, vm_page_t mpte, vm_page_t m)
pv_entry_t pv;
pv = get_pv_entry();
+ if (pv == NULL)
+ panic("no pv entries: increase vm.pmap.shpgperproc");
pv->pv_va = va;
pv->pv_pmap = pmap;
pv->pv_ptem = mpte;
OpenPOWER on IntegriCloud