cvs commit: src/sys/dev/an if_an.c src/sys/dev/arl if_arl_isa.c src/sys/dev/awi if_awi_pccard.c src/sys/dev/cm if_cm_isa.c src/sys/dev/cnw if_cnw.c src/sys/dev/cp if_cp.c src/sys/dev/cs if_cs.c src/sys/dev/ed if_ed.c src/sys/dev/em if_em.c ...

Robert Watson rwatson at FreeBSD.org
Tue Sep 20 14:33:44 PDT 2005


On Tue, 20 Sep 2005, Robert Watson wrote:

>
> On Tue, 20 Sep 2005, John Baldwin wrote:
>
>> Regarding other comments I saw today on some e-mail or another, I do think 
>> that to make the locking sane, we might should push the checks for 
>> IFF_DRV_RUNNING down into the foo_start() routines rather than doing it in 
>> the network layer where the driver lock isn't held.
>
> This was a change I was thinking of trying to get into 6.0 a few weeks 
> ago, but was worried that wholesale frobbing of the network interface 
> drivers would introduce too many bugs.  Also, it will increase the cost 
> of injecting packets into the send queue under load as you'll always 
> have to acquire and drop the driver mutex to test the flag.  I.e., it's 
> not clear we're actually racing, but we might pay a hefty cost for 
> fixing it.  If you want to take a cut at it, I'm happy to help 
> characterize the cost and decide if it's the right thing to do.  It 
> would be nice to get it into 6.0 if possible as it will become part of 
> the device driver API if so.

... getting late ...

I mean the IFF_DRV_OACTIVE flag test used in the handoff.

Robert N M Watson


More information about the cvs-src mailing list