Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/uvm uvm_fault: case 1B: lock page queue before calling u...



details:   https://anonhg.NetBSD.org/src/rev/77b7a815caa3
branches:  trunk
changeset: 542857:77b7a815caa3
user:      pk <pk%NetBSD.org@localhost>
date:      Sun Feb 09 22:32:21 2003 +0000

description:
uvm_fault: case 1B: lock page queue before calling uvm_pageactivate().

diffstat:

 sys/uvm/uvm_fault.c |  6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diffs (29 lines):

diff -r f107ced78da7 -r 77b7a815caa3 sys/uvm/uvm_fault.c
--- a/sys/uvm/uvm_fault.c       Sun Feb 09 22:28:40 2003 +0000
+++ b/sys/uvm/uvm_fault.c       Sun Feb 09 22:32:21 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: uvm_fault.c,v 1.80 2003/01/18 09:42:59 thorpej Exp $   */
+/*     $NetBSD: uvm_fault.c,v 1.81 2003/02/09 22:32:21 pk Exp $        */
 
 /*
  *
@@ -39,7 +39,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvm_fault.c,v 1.80 2003/01/18 09:42:59 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvm_fault.c,v 1.81 2003/02/09 22:32:21 pk Exp $");
 
 #include "opt_uvmhist.h"
 
@@ -1174,8 +1174,10 @@
 
                /* got all resources, replace anon with nanon */
                uvm_pagecopy(oanon->u.an_page, pg);
+               uvm_lock_pageq();
                uvm_pageactivate(pg);
                pg->flags &= ~(PG_BUSY|PG_FAKE);
+               uvm_unlock_pageq();
                UVM_PAGE_OWN(pg, NULL);
                amap_add(&ufi.entry->aref, ufi.orig_rvaddr - ufi.entry->start,
                    anon, 1);



Home | Main Index | Thread Index | Old Index