Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Feb 2009 12:48:01 +0000 (GMT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        current@FreeBSD.org, net@FreeBSD.org
Subject:   HEADS UP: IFF_NEEDSGIANT consumers to be disabled, removed (was: Re: Wiki page for non-MPSAFE network stack de-orbit scheduling)
Message-ID:  <alpine.BSF.2.00.0902161233440.5806@fledge.watson.org>
In-Reply-To: <20080526110543.J26343@fledge.watson.org>
References:  <20080526110543.J26343@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help

(Bcc to arch@)

On Mon, 26 May 2008, Robert Watson wrote:

> Just to keep track of things:
>
>  http://wiki.freebsd.org/NONMPSAFE_DEORBIT

Delayed by about six months, the merge and switch to the new USB stack in 8.x 
means that we're now fairly close to being able to pick up this project again. 
The goal remains to eliminate IFF_NEEDSGIANT, which is (mostly) the last piece 
of non-MPSAFE compatibility infrastructure in the network stack in -CURRENT. 
I removed support for non-MPSAFE network protocols before 7.0, and this is the 
support for non-MPSAFE network device drivers.  As of the current moment in 
HEAD, the following drivers are flagged wth IFF_NEEDSGIANT:

General network device drivers that still require Giant:

   if_ar
   if_ray
   if_sl
   if_sr

Old USB network device drivers:

   if_axe
   if_cdce
   if_cue
   if_kue
   if_rue
   if_rum
   if_udav
   if_upgt
   if_ural
   if_urtw
   if_zyd

Network device drivers intimately tangled with the old TTY code:

   if_cx
   if_ppp
   lf_sl

A network device driver that appears to conditionally use IFF_NEEDSGIANT for 
the purposes of (sometimes) interacting with the old USB code:

   if_ndis

The following schedule is proposed, assuming nothing goes horribly wrong with 
the new USB code in the next few weeks, and remaining nits relating to USB 
network and 802.11 drivers are handled:

16 February 2009	HEADS UP to lists (this e-mail)
01 March 2009		Disable build of all IFF_NEEDSGIANT drivers in 8.x
01 April 2009		Remove all IFF_NEEDSGIANT drivers from 8.x

In the next couple of weeks, I'd like to resolve the status of (and eliminate) 
the if_ndis conditional use of IFF_NEEDSGIANT.  There's also a chance that 
if_sl will get updated by Ed and myself to work with the new locking and TTY 
world orders -- the lock is easy, but the TTY update takes a bit of work. 
Perhaps someone will feel moved to do this for if_ppp and possibly if_cx as 
well.

Robert N M Watson
Computer Laboratory
University of Cambridge



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