On 16/05/2023 11:12, Johannes Nixdorf wrote:
[snip]
>>>             return -EMSGSIZE;
>>>  
>>>  #ifdef CONFIG_BRIDGE_VLAN_FILTERING
>>> diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
>>> index 2119729ded2b..64fb359c6e3e 100644
>>> --- a/net/bridge/br_private.h
>>> +++ b/net/bridge/br_private.h
>>> @@ -494,6 +494,8 @@ struct net_bridge {
>>>  #endif
>>>  
>>>     struct rhashtable               fdb_hash_tbl;
>>> +   u32                             fdb_n_entries;
>>> +   u32                             fdb_max_entries;
>>
>> These are not critical, so I'd use 4 byte holes in net_bridge and pack it 
>> better
>> instead of making it larger.
> 
> For a v2 I now moved it into (conditional) holes now in front of
> CONFIG_BRIDGE_VLAN_FILTERING (only a hole if it is enabled) and
> CONFIG_SWITCHDEV (only a hole if it is disabled). I could not find any
> other holes, but please tell me if you had any others in mind.
> 

Just please don't add them in the first 64 bytes (first cache line) as we use 
that
in the hot path and keep it for variables used there. I'd say use any of the 
other
4 byte holes and just add both, so another 4 byte hole would be left after the 
second one.

>>>     struct list_head                port_list;
>>>  #if IS_ENABLED(CONFIG_BRIDGE_NETFILTER)
>>>     union {
>>
> 
> Thanks for your detailed feedback.

Reply via email to