[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ef10f10b8b339320f5fd8c26f8482b57cafe8194.camel@redhat.com>
Date: Fri, 19 Jun 2020 11:24:29 +0200
From: Paolo Abeni <pabeni@...hat.com>
To: Eric Dumazet <eric.dumazet@...il.com>, netdev@...r.kernel.org
Cc: "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>
Subject: Re: [RFC PATCH] net/sched: add indirect call wrapper hint.
On Thu, 2020-06-18 at 12:00 -0700, Eric Dumazet wrote:
>
> On 6/18/20 10:31 AM, Paolo Abeni wrote:
> > The sched layer can use several indirect calls per
> > packet, with not work-conservative qdisc being
> > more affected due to the lack of the BYPASS path.
> >
> > This change tries to improve the situation using
> > the indirect call wrappers infrastructure for the
> > qdisc enqueue end dequeue indirect calls.
> >
> > To cope with non-trivial scenarios, a compile-time know is
> > introduced, so that the qdisc used by ICW can be different
> > from the default one.
> >
> > Tested with pktgen over qdisc, with CONFIG_HINT_FQ_CODEL=y:
> >
> > qdisc threads vanilla patched delta
> > nr Kpps Kpps %
> > pfifo_fast 1 3300 3700 12
> > pfifo_fast 2 3940 4070 3
> > fq_codel 1 3840 4110 7
> > fq_codel 2 1920 2260 17
> > fq 1 2230 2210 -1
> > fq 2 1530 1540 1
>
> Hi Paolo
>
> This test is a bit misleading, pktgen has a way to bypass the qdisc.
The above figures were collected using the
pktgen_bench_xmit_mode_queue_xmit.sh script, which in turn uses
'xmit_mode queue_xmit': packets traverse the qdisc layer via the usual
dev_queue_xmit()
> Real numbers for more typical workloads would be more appealing,
> before we consider a quite invasive patch ?
I'll add figures for netperf UDP single threaded/many threads...
> What is the status of static_call infrastructure ?
... unless you prefer waiting for the above. AFAICS, that is under
discussion. v4 was posted in May[1] and collected quite a bit of
feedback.
> >
> > +#ifndef CODEL_SCOPE
> > +#define CODEL_SCOPE static
> > +#endif
>
> This looks additional burden, just remove the static attribute,
> if a function might be called directly.
Yep, that will slim down the patch a bit, I will do.
Thanks for the feedback,
Paolo
[1] https://lwn.net/ml/linux-kernel/20200501202849.647891881@infradead.org/
Powered by blists - more mailing lists