IFF_DRV_OACTIVE handling in *_stop() for intel nic drivers ?

John Baldwin jhb at freebsd.org
Mon Dec 23 19:44:25 UTC 2013


On Friday, December 13, 2013 8:23:08 pm Luigi Rizzo wrote:
> On Fri, Dec 13, 2013 at 06:08:55PM -0600, Mike Karels wrote:
> > > ... OACTIVE by design is racy. We should just not be using it in newer 
drivers.
> > 
> > > I think the correct thing to do is to just plain ignore setting it ever.
> > 
> > I agree; OACTIVE is totally obsolete for drivers that use if_transmit,
> > and not particularly useful for other drivers.  It might be time to remove
> > OACTIVE, or define it to be 0.  (And I added the original IFF_OACTIVE).
> 
> ok thanks for the clarification

In particular, it is useless (and AFAIK ignored) if you are using if_transmit.
I've fixed it in igb before, has it crept back in?  It should only be used
in drivers using if_start() when the ifq is full, and cleared when a tx
completion interrupt fires.

-- 
John Baldwin


More information about the freebsd-net mailing list