Messages in this thread | | | From | Andi Kleen <> | Subject | Re: [PATCH 3/4] myri10ge - Driver core | Date | Fri, 19 May 2006 13:09:30 +0200 |
| |
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 linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |