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.

Real numbers for more typical workloads would be more appealing,
before we consider a quite invasive patch ?

What is the status of static_call infrastructure ?


>  
> +#ifndef CODEL_SCOPE
> +#define CODEL_SCOPE static
> +#endif

This looks additional burden, just remove the static attribute,
if a function might be called directly.

Eg, we have EXPORT_SYMBOL() all over the places, even if the modules needing
a symbol might not be compiled at all, or being part of vmlinux.

Thanks !




Reply via email to