Re: HEAD UP: non-MPSAFE network drivers to be disabled (was: 8.0 network stack MPsafety goals (fwd))

From: Robert Watson <rwatson_at_FreeBSD.org>
Date: Sun, 29 Jun 2008 18:02:49 +0100 (BST)
On Sat, 24 May 2008, Robert Watson wrote:

> Just as a reminder, we've just about reached the one month date before 
> IFF_NEEDSGIANT drivers are disabled in the build.  You can find a 
> description of the general problem and list of specific drivers below.
>
> As USB work is on-going, I will *not* disable the USB drivers at this time, 
> but all other drivers in the list below will be disabled on 26 June.  They 
> will remain in the tree, easily accessible for patch distribution and 
> re-enabling, until October, when any remaining non-MPSAFE drivers will be 
> deleted in 8.x.  FreeBSD 8.0 will not ship with compatibility shims to 
> support non-MPSAFE network device drivers.

An FYI on the state of things here: in the last month, John has updated a 
number of device drivers to be MPSAFE, and the USB work remains in-flight. 
I'm holding fire a bit on disabling IFF_NEEDSGIANT while things settle and I 
catch up on driver state, and will likely send out an update next week 
regarding which device drivers remain on the kill list, and generally what the 
status of this project is.

Robert N M Watson
Computer Laboratory
University of Cambridge


>
> Robert N M Watson Computer Laboratory University of Cambridge
>
> ---------- Forwarded message ----------
> Date: Sun, 3 Feb 2008 20:59:05 +0000 (GMT)
> From: Robert Watson <rwatson_at_FreeBSD.org>
> To: arch_at_FreeBSD.org
> Subject: 8.0 network stack MPsafety goals (fwd)
>
>
> Only a few days after predicted, this is a reminder that IFF_NEEDSGIANT 
> network drivers are going to stop working in the forseeable future.  Please 
> review the attached driver list, and if you depend on or care about a 
> Giant-dependent device driver, take action to make sure it doesn't remain on 
> the list in a month's time!
>
> (As far as I'm aware, the list has not changed since my December posting.)
>
> Robert N M Watson
> Computer Laboratory
> University of Cambridge
>
> ---------- Forwarded message ----------
> Date: Mon, 24 Dec 2007 10:43:28 +0000 (GMT)
> From: Robert Watson <rwatson_at_FreeBSD.org>
> To: arch_at_FreeBSD.org
> Subject: 8.0 network stack MPsafety goals
>
>
> Dear all:
>
> With the 7.0 release around the corner, many developers are starting to think 
> about (and in quite a few cases, work on) their goals for 8.0.  One of our 
> on-going kernel projects has been the elimination of the Giant lock, and that 
> project has transformed into one of optimizating behavior on increasing 
> numbers of processors.
>
> In 7.0, despite the noteworth accomplishment of eliminating debug.mpsasfenet 
> and conditional network stack Gian acquisition, we were unable to fully 
> eliminate the IFF_NEEDSGIANT flag, which controls the conditional acquisition 
> of the Giant lock around non-MPSAFE network device drivers.  Primarily these 
> drivers are aging ISA network device drivers, although there are some 
> exceptions, such as the USB stack.
>
> This e-mail proposes the elimination of the IFF_NEEDSGIANT flag and 
> associated infrastructure in FreeBSD 8.0, meaning that all network device 
> drivers must be able to operate without the Giant lock (largely the case 
> already).  Remaining drivers using the IFF_NEEDSGIANT flag must either be 
> updated, or less ideally, removed.  I propose the following schedule:
>
> Date		Goals
> ----		-----
> 26 Dec 2007	Post proposed schedule for flag and infrastructure removal
> 		Post affected driver list
>
> 26 Jan 2008	Repost proposed schedule for flag and infrastructure removal
> 		Post updated affected driver list
>
> 26 Feb 2008	Adjust boot-time printf for affect drivers to generate a loud
> 		warning.
> 		Post updated affected driver list
>
> 26 May 2008	Post HEADS UP of impending driver disabling
> 		Post updated affected driver list
>
> 26 Jun 2008	Disable build of all drivers requiring IFF_NEEDSGIANT
> 		Post updated affected driver list
>
> 26 Sep 2008	Post HEADS up of impending driver removal
> 		Post updated affected driver list
>
> 26 Oct 2008	Delete source of all drivers requiring IFF_NEEDSGIANT
> 		Remove flag and infrastructure
>
> Here is a list of potentially affected drivers:
>
> 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
>
> In some cases, the requirement for Giant is a property of a subsystem the 
> driver depends on as the driver itself; for example, the tty subsystem for 
> SLIP and PPP, and the USB subsystem for a number of USB ethernet and wireless 
> drivers.  With most of a year before to go on the proposed schedule, my hope 
> is that we will have lots of time to address these issues, but wanted to get 
> a roadmap out from a network protocol stack architecture perspective so that 
> device driver and subsystem authors could have a schedule in mind.
>
> FYI, the following drivers also reference IFF_NEEDSGIANT, but only in order 
> to provide their own conditional MPSAFEty, which can be removed without 
> affecting device driver functionality (I believe):
>
> 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
>
> Developers and users of the above drivers are heavily encouraged to update 
> the drivers to remove dependence on Giant, and/or make other contingency 
> plans.
>
> Robert N M Watson
> Computer Laboratory
> University of Cambridge
> _______________________________________________
> freebsd-arch_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
> To unsubscribe, send any mail to "freebsd-arch-unsubscribe_at_freebsd.org"
> _______________________________________________
> freebsd-arch_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
> To unsubscribe, send any mail to "freebsd-arch-unsubscribe_at_freebsd.org"
> _______________________________________________
> freebsd-arch_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-arch
> To unsubscribe, send any mail to "freebsd-arch-unsubscribe_at_freebsd.org"
>
Received on Sun Jun 29 2008 - 15:02:50 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:32 UTC