On Wed, 2016-08-17 at 12:36 -0700, John Fastabend wrote: > Similar to how gso is handled skb_bad_tx needs to be per cpu to handle > lockless qdisc with multiple writer/producers. \ > @@ -1021,6 +1026,7 @@ err_out4: > free_percpu(sch->cpu_bstats); > free_percpu(sch->cpu_qstats); > free_percpu(sch->gso_cpu_skb); > + free_percpu(sch->skb_bad_txq_cpu);
This might be the time to group all these per cpu allocations to a single one, to help data locality and decrease overhead of having XX pointers.