Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-1-4]: src/sys/arch/vax/vax Apply patch (requested by ragge):
details: https://anonhg.NetBSD.org/src/rev/c0f3f41d92ee
branches: netbsd-1-4
changeset: 470217:c0f3f41d92ee
user: he <he%NetBSD.org@localhost>
date: Mon Jan 31 19:22:56 2000 +0000
description:
Apply patch (requested by ragge):
Fix a problem when the system goes out of free pages.
diffstat:
sys/arch/vax/vax/pmap.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diffs (28 lines):
diff -r efac833f94d7 -r c0f3f41d92ee sys/arch/vax/vax/pmap.c
--- a/sys/arch/vax/vax/pmap.c Mon Jan 31 19:19:53 2000 +0000
+++ b/sys/arch/vax/vax/pmap.c Mon Jan 31 19:22:56 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: pmap.c,v 1.61.2.1 1999/07/12 19:24:42 perry Exp $ */
+/* $NetBSD: pmap.c,v 1.61.2.2 2000/01/31 19:22:56 he Exp $ */
/*
* Copyright (c) 1994, 1998 Ludd, University of Lule}, Sweden.
* All rights reserved.
@@ -624,9 +624,15 @@
paddr_t phys;
struct vm_page *pg;
- pg = uvm_pagealloc(NULL, 0, NULL, 0);
- if (pg == NULL)
- panic("pmap_ptefault"); /* XXX */
+ for (;;) {
+ pg = uvm_pagealloc(NULL, 0, NULL, 0);
+ if (pg != NULL)
+ break;
+ if (pmap == pmap_kernel())
+ panic("pmap_enter: no free pages");
+ else
+ uvm_wait("pmap_enter");
+ }
phys = VM_PAGE_TO_PHYS(pg);
bzero((caddr_t)(phys|KERNBASE), NBPG);
pmap_kenter_pa(ptaddr, phys,
Home |
Main Index |
Thread Index |
Old Index