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
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 ...
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