[PATCH] Fix OACTIVE for an(4)

Gleb Smirnoff glebius at FreeBSD.org
Fri Oct 3 08:13:31 UTC 2014

On Thu, Oct 02, 2014 at 11:16:27AM -0400, John Baldwin wrote:
J> > I haven't looked at the rest of the driver; is everything else around
J> > OACTIVE locked correctly and consistently?
J> As well as OACTIVE is for any other driver.

Let me jump into this topic and discuss the if_drv_flags :)

It seems to me that this in general was a wrong concept, both
IFF_DRV_OACTIVE and IFF_DRV_RUNNING. The internal state of
the driver can be known only to the driver itself and should
be stored in the softc, covered with internal lock.

There is simply no way to racelessly tell the state from the
outside, without obtaining driver lock.

In my ifnet plans I am considering to remove if_drv_flags.
Can anyone convince me that this is a wrong idea and they
should be kept?

Totus tuus, Glebius.

More information about the freebsd-current mailing list