Thread (32 messages) flat view 32 messages, 3 authors, 2016-08-23

Re: [RFC PATCH 08/13] net: sched: support skb_bad_tx with lockless qdisc

From: John Fastabend <john.fastabend@gmail.com>
Date: 2016-08-23 20:12:29

On 16-08-17 04:00 PM, John Fastabend wrote:
On 16-08-17 03:58 PM, Eric Dumazet wrote:
quoted
On Wed, 2016-08-17 at 12:36 -0700, John Fastabend wrote:
quoted
Similar to how gso is handled skb_bad_tx needs to be per cpu to handle
lockless qdisc with multiple writer/producers.
\
quoted
@@ -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.

Sounds like a good idea to me. I'll go ahead and add a patch to the
front to consolidate the stats and then add these there.
Actually this turned out to be not so trivial. To do it reasonably
requires changes in how gnet stats work and such. I'm going to propose
pushing this into a series after the initial lockless set otherwise the
patch set is going to start pushing 20+ patches.

Also a follow on series to make all the qdiscs support per cpu stats
would be nice and allows us to remove a lot of the annoying if/else
cases around stats. Its a bit tedious to go and change all the qdiscs
but mostly mechanical.

.John
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help