From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andi Kleen Subject: Re: [PATCH 3/4] myri10ge - Driver core Date: Fri, 19 May 2006 13:09:30 +0200 Message-ID: <200605191309.30992.ak@suse.de> References: <20060517220218.GA13411@myri.com> <446D2CA7.2070009@myri.com> <200605191200.47132.arnd@arndb.de> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Cc: Brice Goglin , netdev@vger.kernel.org, gallatin@myri.com, linux-kernel@vger.kernel.org Return-path: Received: from cantor.suse.de ([195.135.220.2]:32733 "EHLO mx1.suse.de") by vger.kernel.org with ESMTP id S932272AbWESLJn (ORCPT ); Fri, 19 May 2006 07:09:43 -0400 To: Arnd Bergmann In-Reply-To: <200605191200.47132.arnd@arndb.de> Content-Disposition: inline Sender: netdev-owner@vger.kernel.org List-Id: netdev.vger.kernel.org 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