Subject: Re: [PATCH 1/3] net: introduce a list of device addresses dev_addr_list

From: Patrick McHardy <[email-masked]>
Date: Wed, 15 Apr 2009 12:41:01 +0200

David Miller wrote:
> From: Patrick McHardy <[email-masked]>
> Date: Wed, 15 Apr 2009 12:13:57 +0200
> 
>> David Miller wrote:
>>> From: Eric Dumazet <[email-masked]>
>>> 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.