[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20110329232927.56fb07d6@s6510>
Date: Tue, 29 Mar 2011 23:29:27 -0700
From: Stephen Hemminger <shemminger@...tta.com>
To: Michał Mirosław <mirqus@...il.com>
Cc: Ben Hutchings <bhutchings@...arflare.com>,
David Miller <davem@...emloft.net>, netdev@...r.kernel.org
Subject: Re: ethtool physical identify vs netlink locking?
On Wed, 30 Mar 2011 03:35:40 +0200
Michał Mirosław <mirqus@...il.com> wrote:
> 2011/3/30 Ben Hutchings <bhutchings@...arflare.com>:
> > On Tue, 2011-03-29 at 13:52 -0700, Stephen Hemminger wrote:
> >> Right now if an administrator uses the ethtool function to identify network
> >> interface, the netlink lock can be held indefinitely. In other words, doing
> >> "ethtool -p eth1" will stop all other netlink activity. This is bad, imagine
> >> the case of an operator doing that to find a NIC in a rack, and because of
> >> the netlink lockout all routing daemon activity stops.
> [...]
> >> There are several possible solutions but most involve fixing all the device
> >> drivers (24). Options:
> >>
> >> 1. Have device driver drop and reacquire rtnl() while blinking
> >> 2. Have ethtool core drop rtnl before calling device driver
> >> 3. Add per-device ethtool rtnl lock
> > 4. Define a ethtool operation 'set_id_state' with an argument that sets
> > identification on/off/inactive/active (the last optional, for any driver
> > that really wants to do this differently). When this is defined, the
> > ethtool core runs the loop and acquires the lock each time it calls this
> > operation.
>
> 5. Have a driver register a LED class device instead of implementing
> an ethtool op.
>
> Hmm. This would require changes to userspace ethtool command. I wonder
> if anything else uses this call?
Full LED support is overkill for this I think. Especially if it means creating
24 unique LED drivers.
Ben's idea seams the best so far.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists