On 09/06/2018 01:39 AM, Kirill Tkhai wrote:
> On 06.09.2018 11:30, Eric Dumazet wrote:
>>
>>
>> On 09/06/2018 12:58 AM, Vlad Buslov wrote:
>>
>> ...
>>
>>> diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
>>> index 18e22a5a6550..239c73f29471 100644
>>> --- a/include/net/sch_generic.h
>>> +++ b/include/net/sch_generic.h
>>> @@ -90,6 +90,7 @@ struct Qdisc {
>>>     struct gnet_stats_queue __percpu *cpu_qstats;
>>>     int                     padded;
>>>     refcount_t              refcnt;
>>> +   struct rcu_head         rcu;
>>>  
>>>     /*
>>>      * For performance sake on SMP, we put highly modified fields at the end
>>
>> Probably better to move this at the end of struct Qdisc,
>> not risking unexpected performance regressions in fast path.
> 
> Do you mean regressions on UP? On SMP it looks like this field
> fits in the unused gap created by:
> 
>       struct sk_buff_head     gso_skb ____cacheline_aligned_in_smp;
> 
> Kirill

Oh right, we might have holes there, and in the last cache line, so it does not
matter for now.



Reply via email to