From 7f3b205cb834636e3bbf0bb354cccd5c98ee1db4 Mon Sep 17 00:00:00 2001 From: sam Date: Sat, 8 Nov 2003 22:28:40 +0000 Subject: o add a flags parameter to netisr_register that is used to specify whether or not the isr needs to hold Giant when running; Giant-less operation is also controlled by the setting of debug_mpsafenet o mark all netisr's except NETISR_IP as needing Giant o add a GIANT_REQUIRED assertion to the top of netisr's that need Giant o pickup Giant (when debug_mpsafenet is 1) inside ip_input before calling up with a packet o change netisr handling so swi_net runs w/o Giant; instead we grab Giant before invoking handlers based on whether the handler needs Giant o change netisr handling so that netisr's that are marked MPSAFE may have multiple instances active at a time o add netisr statistics for packets dropped because the isr is inactive Supported by: FreeBSD Foundation --- sys/netnatm/natm.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sys/netnatm/natm.c') diff --git a/sys/netnatm/natm.c b/sys/netnatm/natm.c index 87870b0..b9beb03c 100644 --- a/sys/netnatm/natm.c +++ b/sys/netnatm/natm.c @@ -685,6 +685,8 @@ natmintr(struct mbuf *m) struct socket *so; struct natmpcb *npcb; + GIANT_REQUIRED; + #ifdef DIAGNOSTIC M_ASSERTPKTHDR(m); #endif -- cgit v1.1