Subject: Re: [RFC Patch net-next] net_sched: make classifying lockless on ingress

From: Jamal Hadi Salim <[email-masked]>
Date: Thu, 26 Dec 2013 07:02:01 -0500

On 12/24/13 01:08, John Fastabend wrote:

>
> In this case I was specifically talking about statistics so the
> bstats and qstats.
>

Thats my thinking as well. Mostly control plane requests would
drive it. Assuming it is real world and not a benchmark test - then
you can afford to be loosely synchronized.

> As long as the qdisc's do not require global state this works well
> enough. However as Jamal keeps pointing out the problem is any qdisc
> which requires global state requires locking (I paraphrase but I think
> replicate the spirit correctly) and this doesn't work well with many
> CPUs. So you either replicate the qdiscs one per queue like we do in
> the mq and mqprio case effectively removing any global state or you
> develop qdiscs that don't require global state or at least work with
> eventually consistent data to avoid the constant syncing of data.
>
> I think though a qdisc per nic queue is really not as bad as you think.
> For example we do this on the tx side and it works OK. Note its per
> RX queue and not per CPU.
>

And it is as you said earlier a configuration issue.

cheers,
jamal