Thread (10 messages) 10 messages, 3 authors, 2011-06-01

Re: [RFC/PATCH] sungem: Spring cleaning and GRO support

From: Ben Hutchings <hidden>
Date: 2011-06-01 00:05:02

On Wed, 2011-06-01 at 09:55 +1000, Benjamin Herrenschmidt wrote:
On Tue, 2011-05-31 at 23:17 +0100, Ben Hutchings wrote:
quoted
On Wed, 2011-06-01 at 07:58 +1000, Benjamin Herrenschmidt wrote:
[...]
quoted
quoted
Is the pm_mutex really needed?  All control operations should already be
serialised by the RTNL lock, and you've started taking that in the
suspend and resume functions.
Well, it's been there forever and I need to get my head around it, but
yes, the rtnl lock might be able to get rid of it, good point. I just
actually added that :-)

So all ndo_set_* are going to be covered by rtnl including the ethtool ?
ethtool ops are almost all covered; the kernel-doc comment has the
details.

As for net_device_ops, locking varies (and really ought to be documented
in <linux/netdevice.h>).  At least ndo_set_mac_address, ndo_change_mtu
and ndo_do_ioctl (plus of course ndo_open and ndo_stop) are called
holding the RTNL lock.
Ok. The main annoyance for locking has always been set_multicast which
is called with a spinlock afaik.
Right, that's called with the address-list spinlock (and previously with
the TX spinlock, I think).  In sfc we defer multicast reconfiguration to
a work item since it can require process context.
quoted
quoted
I don't really want to take the rtnl lock in the reset task (at least
not for the whole duration of it), so I may have to be a bit creative on
synchronization there.
[...]

Unless reset takes more than a second I wouldn't worry about it.
I don't want to take a spinlock for even near that, especially since we
do the reset on every link down. I suppose rtnl might be less of an
issue, I'll have a look.
So long as you aren't holding it for, say, blinking an LED indefinitely
it's fine... :-)

Ben.

-- 
Ben Hutchings, Senior Software Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help