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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sat, Apr 18, 2009 at 09:35:32AM CEST, dada1@xxxxxxxxxxxxx wrote:
>Jiri Pirko a écrit :
>> Fri, Apr 17, 2009 at 05:33:15PM CEST, shemminger@xxxxxxxxxx wrote:
>> 
>> <snip>
>> 
>>>> +struct netdev_hw_addr {
>>>> +	struct list_head	list;
>>>> +	unsigned char		addr[MAX_ADDR_LEN];
>>>> +	int			refcount;
>>>> +	struct rcu_head		rcu_head;
>>>> +};
>>> Minor nit, the ordering of elements cause holes that might not be
>>> needed.
>> 
>> Agree that ordering might be done better. Will do.
>>> Space saving? is rcu_head needed or would using synchronize_net
>>> make code cleaner and save space. 
>>>
>> 
>> Well I originaly had this done by synchronize_rcu(). Eric argued that it might
>> cause especially __hw_addr_del_multiple_ii() to run long and suggested to use
>> call_rcu() instead. I plan to switch this to kfree_rcu() (or whatever it's
>> called) once it hits the tree.
>> 
>
>Yes, and dont forget we wont save space, as we allocate a full
>cache line to hold a 'struct netdev_hw_addr', since we dont want this
>critical and read_mostly object polluted by a hot spot elsewhere in kernel...
>
>Considering this, letting 'rcu_head' at the end of structure, even if we
>have an eventual hole on 64 bit arches is not really a problem, and IMHO
>the best thing to do, as rcu_head is only used at dismantle time.

I will order the struct better, there are archs with small cache line size where
it makes sense.

>
>And yes, maybe kfree_rcu() will makes its way in kernel, eventually :)
>
>Thank you
>
>
_______________________________________________
Bridge mailing list
Bridge@xxxxxxxxxxxxxxxxxxxxxxxxxx
https://lists.linux-foundation.org/mailman/listinfo/bridge


[Index of Archives]     [Netdev]     [AoE Tools]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux