Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Nov 2003 14:34:14 -0800
From:      Sam Leffler <sam@errno.com>
To:        Sam Leffler <sam@FreeBSD.org>, src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
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...
Message-ID:  <200311081434.14186.sam@errno.com>
In-Reply-To: <200311082228.hA8MSeQP012386@repoman.freebsd.org>
References:  <200311082228.hA8MSeQP012386@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200311081434.14186.sam>