Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Dec 2013 12:23:56 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-net@freebsd.org
Cc:        Jack F Vogel <jfv@freebsd.org>, Adrian Chadd <adrian@freebsd.org>, Luigi Rizzo <rizzo@iet.unipi.it>, Mike Karels <mike@karels.net>, "net@freebsd.org" <net@freebsd.org>
Subject:   Re: IFF_DRV_OACTIVE handling in *_stop() for intel nic drivers ?
Message-ID:  <201312231223.56698.jhb@freebsd.org>
In-Reply-To: <20131214012308.GB82745@onelab2.iet.unipi.it>
References:  <CAJ-Vmom8u9mw9h-Eq5EKvcwcpMKjNzdxcwVJLtg_jRfA0DWYxg@mail.gmail.com> <201312140008.rBE08tnO062920@mail.karels.net> <20131214012308.GB82745@onelab2.iet.unipi.it>

next in thread | previous in thread | raw e-mail | index | archive | help
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



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