On Friday 19 May 2006 12:00, Arnd Bergmann wrote:
> On Friday 19 May 2006 04:25, Brice Goglin wrote:
> > dev_mc_upload() from net/core/dev_mcast.c does
> > 
> > spin_lock_bh(&dev->xmit_lock);
> > __dev_mc_upload(dev);
> > 
> > which calls dev->set_multicast_list(), which is
> > myri10ge_set_multicast_list()
> > 
> > which calls myri10ge_change_promisc
> > 
> > which calls myri10ge_send_cmd
> 
> Hmm, if that is the only path where you call it, it may be
> helpful to change myri10ge_change_promisc to call a special
> atomic version of myri10ge_send_cmd then, while all others
> use the regular version, which you can then convert to
> do msleep as well.

Or just drop the xmit lock while you do that. As long as you
handle races with ->start_xmit yourself it's ok

-Andi
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to