Source-Changes-HG archive

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

[src/trunk]: src/sys/arch remove L_BIGLOCK check for kernel-mode pagefaults i...



details:   https://anonhg.NetBSD.org/src/rev/55671317fe63
branches:  trunk
changeset: 547013:55671317fe63
user:      yamt <yamt%NetBSD.org@localhost>
date:      Sun May 11 15:19:19 2003 +0000

description:
remove L_BIGLOCK check for kernel-mode pagefaults in trap().
syscall() and its variants actually does copyin() without biglock.

ok'ed by Frank van der Linden.

diffstat:

 sys/arch/amd64/amd64/trap.c |   7 ++-----
 sys/arch/i386/i386/trap.c   |  12 ++----------
 2 files changed, 4 insertions(+), 15 deletions(-)

diffs (54 lines):

diff -r dd5d0ce61a7b -r 55671317fe63 sys/arch/amd64/amd64/trap.c
--- a/sys/arch/amd64/amd64/trap.c       Sun May 11 14:02:17 2003 +0000
+++ b/sys/arch/amd64/amd64/trap.c       Sun May 11 15:19:19 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: trap.c,v 1.2 2003/05/04 23:51:56 fvdl Exp $    */
+/*     $NetBSD: trap.c,v 1.3 2003/05/11 15:19:19 yamt Exp $    */
 
 /*-
  * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -380,10 +380,7 @@
                 */
                if (pcb->pcb_onfault == fusuintrfailure)
                        goto copyefault;
-#ifdef MULTIPROCESSOR
-               if ((l->l_flag & L_BIGLOCK) == 0)
-                       goto we_re_toast;
-#endif
+
                cr2 = rcr2();
                KERNEL_LOCK(LK_CANRECURSE|LK_EXCLUSIVE);
                goto faultcommon;
diff -r dd5d0ce61a7b -r 55671317fe63 sys/arch/i386/i386/trap.c
--- a/sys/arch/i386/i386/trap.c Sun May 11 14:02:17 2003 +0000
+++ b/sys/arch/i386/i386/trap.c Sun May 11 15:19:19 2003 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: trap.c,v 1.178 2003/02/26 21:28:24 fvdl Exp $  */
+/*     $NetBSD: trap.c,v 1.179 2003/05/11 15:19:20 yamt Exp $  */
 
 /*-
  * Copyright (c) 1998, 2000 The NetBSD Foundation, Inc.
@@ -79,7 +79,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.178 2003/02/26 21:28:24 fvdl Exp $");
+__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.179 2003/05/11 15:19:20 yamt Exp $");
 
 #include "opt_ddb.h"
 #include "opt_kgdb.h"
@@ -476,14 +476,6 @@
                 */
                if (pcb->pcb_onfault == fusubail)
                        goto copyefault;
-#ifdef MULTIPROCESSOR
-               /*
-                * process doing kernel-mode page fault must have
-                * been running with big lock held
-                */
-               if ((l->l_flag & L_BIGLOCK) == 0)
-                       goto we_re_toast;
-#endif
 
 #if 0
                /* XXX - check only applies to 386's and 486's with WP off */



Home | Main Index | Thread Index | Old Index