From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <49E5B9BD.5070204@trash.net> Date: Wed, 15 Apr 2009 12:41:01 +0200 From: Patrick McHardy MIME-Version: 1.0 References: <49E5A896.90408@cosmosbay.com> <20090415.023104.82135803.davem@davemloft.net> <49E5B365.2010008@trash.net> <20090415.031510.162624644.davem@davemloft.net> In-Reply-To: <20090415.031510.162624644.davem@davemloft.net> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Bridge] [PATCH 1/3] net: introduce a list of device addresses dev_addr_list List-Id: Linux Ethernet Bridging List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: David Miller Cc: ivecera@redhat.com, fubar@us.ibm.com, jpirko@redhat.com, netdev@vger.kernel.org, bridge@lists.linux-foundation.org, lizf@cn.fujitsu.com, linux-kernel@vger.kernel.org, mschmidt@redhat.com, dada1@cosmosbay.com, jgarzik@pobox.com, bonding-devel@lists.sourceforge.net David Miller wrote: > From: Patrick McHardy > Date: Wed, 15 Apr 2009 12:13:57 +0200 > >> David Miller wrote: >>> From: Eric Dumazet >>> Date: Wed, 15 Apr 2009 11:27:50 +0200 >>> >>>> Since you obviously need a write lock here to be sure following >>>> can be done by one cpu only. >>>> >>>> You have same problem all over this patch. >>> RTNL semaphore is held across all modification operations. >> If this will also be used for multicast lists, changes can happen >> (IPv6) without the RTNL. > > Indeed, that is true :-/ Herbert (I think) suggested to make address list updates in softirq context a two-step process, where addresses would first be added to a temporary list and the final change would be done in process context while holding the RTNL. Given the complicated mess we currently have, this would be a very worthwhile change IMO.