Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/ofppc/ofppc soft_splvm() - "block" SPLBIO, SPLNET, ...



details:   https://anonhg.NetBSD.org/src/rev/8a373e647bea
branches:  trunk
changeset: 515857:8a373e647bea
user:      thorpej <thorpej%NetBSD.org@localhost>
date:      Sat Oct 06 03:51:48 2001 +0000

description:
soft_splvm() - "block" SPLBIO, SPLNET, and SPLTTY in addition to SPLIMP
and the soft interrupts.  Probably doesn't matter for an all OFW kernel,
since all devices are polling, but done for correctness.

soft_splsoftnet() - make sure to block softclock, as well.  While
you're in the network code at splsoftnet(), you don't want a soft
clock interrupt tripping some network-related timeout and reentering
the network code.

diffstat:

 sys/arch/ofppc/ofppc/soft_spl.c |  8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diffs (29 lines):

diff -r 99275ca5cfc5 -r 8a373e647bea sys/arch/ofppc/ofppc/soft_spl.c
--- a/sys/arch/ofppc/ofppc/soft_spl.c   Sat Oct 06 03:04:01 2001 +0000
+++ b/sys/arch/ofppc/ofppc/soft_spl.c   Sat Oct 06 03:51:48 2001 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: soft_spl.c,v 1.5 2001/08/26 02:47:41 matt Exp $        */
+/*     $NetBSD: soft_spl.c,v 1.6 2001/10/06 03:51:48 thorpej Exp $     */
 
 /*
  * Copyright (C) 1997 Wolfgang Solfrank.
@@ -183,7 +183,8 @@
 static int
 soft_splvm()
 {
-       return splraise(SPLIMP | SPLSOFTCLOCK | SPLSOFTNET);
+       return splraise(SPLIMP | SPLBIO | SPLNET | SPLTTY | SPLSOFTCLOCK |
+           SPLSOFTNET);
 }
 
 static int
@@ -207,7 +208,8 @@
 static int
 soft_splsoftnet()
 {
-       return splraise(SPLSOFTNET);
+       /* splsoftnet() needs to block softclock */
+       return splraise(SPLSOFTNET|SPLSOFTCLOCK);
 }
 
 static void



Home | Main Index | Thread Index | Old Index