From owner-cvs-src@FreeBSD.ORG Sat Nov 8 14:32:19 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1AE5216A4CE; Sat, 8 Nov 2003 14:32:19 -0800 (PST) Received: from ebb.errno.com (ebb.errno.com [66.127.85.87]) by mx1.FreeBSD.org (Postfix) with ESMTP id B06BF4400D; Sat, 8 Nov 2003 14:32:17 -0800 (PST) (envelope-from sam@errno.com) Received: from 66.127.85.91 ([66.127.85.91]) (authenticated bits=0) by ebb.errno.com (8.12.9/8.12.9) with ESMTP id hA8MWD0x003373 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NO); Sat, 8 Nov 2003 14:32:16 -0800 (PST) (envelope-from sam@errno.com) From: Sam Leffler Organization: Errno Consulting To: Sam Leffler , src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Date: Sat, 8 Nov 2003 14:34:14 -0800 User-Agent: KMail/1.5.3 References: <200311082228.hA8MSeQP012386@repoman.freebsd.org> In-Reply-To: <200311082228.hA8MSeQP012386@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200311081434.14186.sam@errno.com> Subject: Re: cvs commit: src/sys/dev/usb usb_ethersubr.c src/sys/kern kern_poll.c src/sys/net if_ppp.c netisr.c netisr.h src/sys/netatalk aarp.c ddp_input.c ddp_usrreq.c src/sys/netatm atm_subr.c src/sys/netgraph ng_base.c src/sys/netinet if_ether.c... X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 08 Nov 2003 22:32:19 -0000 On Saturday 08 November 2003 02:28 pm, Sam Leffler wrote: > sam 2003/11/08 14:28:40 PST > > FreeBSD src repository > > Modified files: > sys/dev/usb usb_ethersubr.c > sys/kern kern_poll.c > sys/net if_ppp.c netisr.c netisr.h > sys/netatalk aarp.c ddp_input.c ddp_usrreq.c > sys/netatm atm_subr.c > sys/netgraph ng_base.c > sys/netinet if_ether.c ip_input.c > sys/netinet6 ip6_input.c > sys/netipx ipx_input.c > sys/netnatm natm.c natm_proto.c > Log: > 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 Note that these change should not change existing behaviour so long as debug.mpsafenet is 0 (the default). Once I've got some other stuff committed it should be safe to enable mpsafenet for testing. Note also that I did not mark netgraph's isr MPSAFE. While I believe the core netgraph code is safe I can't be sure that all the various modules are ok. I'll leave it to someone else (harti?) to verify this and mark the netisr MPSAFE. Sam