Date: Sat, 24 May 2008 10:48:18 -0400 From: Coleman Kane <cokane@FreeBSD.org> To: Robert Watson <rwatson@FreeBSD.org> Cc: arch@FreeBSD.org, current@FreeBSD.org, net@FreeBSD.org Subject: Re: HEAD UP: non-MPSAFE network drivers to be disabled (was: 8.0 network stack MPsafety goals (fwd)) Message-ID: <1211640498.1510.8.camel@localhost> In-Reply-To: <20080524111715.T64552@fledge.watson.org> References: <20080524111715.T64552@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--=-WsmYbFHJm0XxVixg4dwD Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Sat, 2008-05-24 at 11:20 +0100, Robert Watson wrote: > Dear all: >=20 > Just as a reminder, we've just about reached the one month date before=20 > IFF_NEEDSGIANT drivers are disabled in the build. You can find a descrip= tion=20 > of the general problem and list of specific drivers below. >=20 > As USB work is on-going, I will *not* disable the USB drivers at this tim= e,=20 > but all other drivers in the list below will be disabled on 26 June. The= y=20 > will remain in the tree, easily accessible for patch distribution and=20 > re-enabling, until October, when any remaining non-MPSAFE drivers will be= =20 > deleted in 8.x. FreeBSD 8.0 will not ship with compatibility shims to su= pport=20 > non-MPSAFE network device drivers. >=20 > Robert N M Watson > Computer Laboratory > University of Cambridge >=20 > ---------- Forwarded message ---------- > Date: Sun, 3 Feb 2008 20:59:05 +0000 (GMT) > From: Robert Watson <rwatson@FreeBSD.org> > To: arch@FreeBSD.org > Subject: 8.0 network stack MPsafety goals (fwd) >=20 >=20 > Only a few days after predicted, this is a reminder that IFF_NEEDSGIANT n= etwork=20 > drivers are going to stop working in the forseeable future. Please revie= w the=20 > attached driver list, and if you depend on or care about a Giant-dependen= t=20 > device driver, take action to make sure it doesn't remain on the list in = a=20 > month's time! >=20 > (As far as I'm aware, the list has not changed since my December posting.= ) >=20 > Robert N M Watson > Computer Laboratory > University of Cambridge >=20 > ---------- Forwarded message ---------- > Date: Mon, 24 Dec 2007 10:43:28 +0000 (GMT) > From: Robert Watson <rwatson@FreeBSD.org> > To: arch@FreeBSD.org > Subject: 8.0 network stack MPsafety goals >=20 >=20 > Dear all: >=20 > With the 7.0 release around the corner, many developers are starting to t= hink=20 > about (and in quite a few cases, work on) their goals for 8.0. One of ou= r=20 > on-going kernel projects has been the elimination of the Giant lock, and = that=20 > project has transformed into one of optimizating behavior on increasing n= umbers=20 > of processors. >=20 > In 7.0, despite the noteworth accomplishment of eliminating debug.mpsasfe= net=20 > and conditional network stack Gian acquisition, we were unable to fully=20 > eliminate the IFF_NEEDSGIANT flag, which controls the conditional acquisi= tion=20 > of the Giant lock around non-MPSAFE network device drivers. Primarily th= ese=20 > drivers are aging ISA network device drivers, although there are some=20 > exceptions, such as the USB stack. >=20 > This e-mail proposes the elimination of the IFF_NEEDSGIANT flag and assoc= iated=20 > infrastructure in FreeBSD 8.0, meaning that all network device drivers mu= st be=20 > able to operate without the Giant lock (largely the case already). Remai= ning=20 > drivers using the IFF_NEEDSGIANT flag must either be updated, or less ide= ally,=20 > removed. I propose the following schedule: >=20 > Date Goals > ---- ----- > 26 Dec 2007 Post proposed schedule for flag and infrastructure removal > Post affected driver list >=20 > 26 Jan 2008 Repost proposed schedule for flag and infrastructure removal > Post updated affected driver list >=20 > 26 Feb 2008 Adjust boot-time printf for affect drivers to generate a loud > warning. > Post updated affected driver list >=20 > 26 May 2008 Post HEADS UP of impending driver disabling > Post updated affected driver list >=20 > 26 Jun 2008 Disable build of all drivers requiring IFF_NEEDSGIANT > Post updated affected driver list >=20 > 26 Sep 2008 Post HEADS up of impending driver removal > Post updated affected driver list >=20 > 26 Oct 2008 Delete source of all drivers requiring IFF_NEEDSGIANT > Remove flag and infrastructure >=20 > Here is a list of potentially affected drivers: >=20 > Name Bus Man page description > --- --- -------------------- > ar ISA/PCI synchronous Digi/Arnet device driver > arl ISA Aironet Arlan 655 wireless network adapter driver > awi PCCARD AMD PCnetMobile IEEE 802.11 PCMCIA wireless network > driver > axe USB ASIX Electronics AX88172 USB Ethernet driver > cdce USB USB Communication Device Class Ethernet driver > cnw PCCARD Netwave AirSurfer wireless network driver > cs ISA/PCCARD Ethernet device driver > cue USB CATC USB-EL1210A USB Ethernet driver > ex ISA/PCCARD Ethernet device driver for the Intel EtherExpress > Pro/10 and Pro/10+ > fe CBUS/ISA/PCCARD Fujitsu MB86960A/MB86965A based Ethernet adapters > ic I2C I2C bus system > ie ISA Ethernet device driver > kue USB Kawasaki LSI KL5KUSB101B USB Ethernet driver > oltr ISA/PCI Olicom Token Ring device driver > plip PPBUS printer port Internet Protocol driver > ppp TTY point to point protocol network interface > ray PCCARD Raytheon Raylink/Webgear Aviator PCCard driver > rue USB RealTek RTL8150 USB to Fast Ethernet controller driver > rum USB Ralink Technology USB IEEE 802.11a/b/g wireless > network device > sbni ISA/PCI Granch SBNI12 leased line modem driver > sbsh PCI Granch SBNI16 SHDSL modem device driver > sl TTY slip network interface > snc ISA/PCCARD National Semiconductor DP8393X SONIC Ethernet adapter > driver > sr ISA/PCI synchronous RISCom/N2 / WANic 400/405 device driver > udav USB Davicom DM9601 USB Ethernet driver > ural USB Ralink Technology RT2500USB IEEE 802.11 driver > xe PCCARD Xircom PCMCIA Ethernet device driver > zyd USB ZyDAS ZD1211/ZD1211B USB IEEE 802.11b/g wireless > network device >=20 > In some cases, the requirement for Giant is a property of a subsystem the= =20 > driver depends on as the driver itself; for example, the tty subsystem fo= r SLIP=20 > and PPP, and the USB subsystem for a number of USB ethernet and wireless=20 > drivers. With most of a year before to go on the proposed schedule, my h= ope is=20 > that we will have lots of time to address these issues, but wanted to get= a=20 > roadmap out from a network protocol stack architecture perspective so tha= t=20 > device driver and subsystem authors could have a schedule in mind. >=20 > FYI, the following drivers also reference IFF_NEEDSGIANT, but only in ord= er to=20 > provide their own conditional MPSAFEty, which can be removed without affe= cting=20 > device driver functionality (I believe): >=20 > Name Bus Man page description > --- --- -------------------- > ce PCI driver for synchronous Cronyx Tau-PCI/32 WAN adapters > cp PCI driver for synchronous Cronyx Tau-PCI WAN adapters > ctau ISA driver for synchronous Cronyx Tau WAN adapters > cx ISA driver for synchronous/asynchronous Cronyx Sigma WAN > adapters >=20 > Developers and users of the above drivers are heavily encouraged to updat= e the=20 > drivers to remove dependence on Giant, and/or make other contingency plan= s. >=20 > Robert N M Watson > Computer Laboratory > University of Cambridge I've created a quick table of these at the following location: http://wiki.freebsd.org/NetworkNeedsGiant Please everyone feel free to fill in the blanks. I'll try to do it as well as time permits. --=20 Coleman Kane --=-WsmYbFHJm0XxVixg4dwD Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEABECAAYFAkg4KqwACgkQcMSxQcXat5cm3ACdFy/ZZLIbqAbfijtLjUtyPHd5 LqwAn1dzu8Jra/MzMnjWibA7G3z6YIrs =u5Qw -----END PGP SIGNATURE----- --=-WsmYbFHJm0XxVixg4dwD--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1211640498.1510.8.camel>