From owner-freebsd-questions@FreeBSD.ORG Sat May 24 14:56:32 2008 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E1BC6106564A for ; Sat, 24 May 2008 14:56:32 +0000 (UTC) (envelope-from chrizach@gmail.com) Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.236]) by mx1.freebsd.org (Postfix) with ESMTP id C243C8FC15 for ; Sat, 24 May 2008 14:56:32 +0000 (UTC) (envelope-from chrizach@gmail.com) Received: by rv-out-0506.google.com with SMTP id b25so1416061rvf.43 for ; Sat, 24 May 2008 07:56:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; bh=j0ZyKdd4APbYDhhscu7H631eYenItqSNgmowsJeV52w=; b=Q4Y9h1vBcN7F7VZJte8CvNI2D+pWPnQZkKEkBY2/3JVdUSS7jZX2qBStAPlsRpYT39OdeEp697/rF7my1GKr5aBArZx9Ep+jRdAErCpy29RZOZ/Ro6q5uBwv1PlN0OWFCkU4iE7DHsQuzn69w0UzsJv1M/1HnogAYKY2MpgZKKA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=l000B9VbBqSL+fmk2udWonN3rqy/Id5pVdqicrbL3FcgjbkmSRkMbNhKcTK5l+JzbzsGvyDvloITbuejETeubnEsHFC5TEZ5nguUA4s/pzAZXVg5TVBweiY+GCU47nqv4ATBniKriUbrETSsECebbibEKqU7no9ymkT+CGwUc28= Received: by 10.140.174.11 with SMTP id w11mr1245057rve.17.1211640992302; Sat, 24 May 2008 07:56:32 -0700 (PDT) Received: by 10.140.142.18 with HTTP; Sat, 24 May 2008 07:56:32 -0700 (PDT) Message-ID: <4a89d1190805240756j7a3d6fc1l7773ed1a6d98dce@mail.gmail.com> Date: Sat, 24 May 2008 16:56:32 +0200 From: "Christian Zachariasen" To: "Coleman Kane" , "FreeBSD Mailing Lists" In-Reply-To: <1211640498.1510.8.camel@localhost> MIME-Version: 1.0 References: <20080524111715.T64552@fledge.watson.org> <1211640498.1510.8.camel@localhost> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Subject: Re: HEAD UP: non-MPSAFE network drivers to be disabled (was: 8.0 network stack MPsafety goals (fwd)) X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 24 May 2008 14:56:33 -0000 On Sat, May 24, 2008 at 4:48 PM, Coleman Kane wrote: > On Sat, 2008-05-24 at 11:20 +0100, Robert Watson wrote: > > Dear all: > > > > 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. > > > > Robert N M Watson > > Computer Laboratory > > University of Cambridge > > > > ---------- Forwarded message ---------- > > Date: Sun, 3 Feb 2008 20:59:05 +0000 (GMT) > > From: Robert Watson > > To: arch@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 > > To: arch@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 > > 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. > > -- > Coleman Kane Just out of curiousity - is there a guide available that gives some pointers on how to go about removing the GIANT-parts of the drivers? What would one replace it with? I'm not sure I would be up to the task, but I'd find it interesting to actually understand the process. Christian Zachariasen