]> git.karo-electronics.de Git - karo-tx-linux.git/commit
net: sched: consolidate tc_classify{,_compat}
authorDaniel Borkmann <daniel@iogearbox.net>
Wed, 26 Aug 2015 21:00:06 +0000 (23:00 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 27 Aug 2015 21:18:48 +0000 (14:18 -0700)
commit3b3ae880266d148bf73a573a766bc9b78c08d805
treef96787f6f74d236781f58d4f3a1abe1bcf1a796b
parentfe2188236ad04618b25978c44d896c16613de9aa
net: sched: consolidate tc_classify{,_compat}

For classifiers getting invoked via tc_classify(), we always need an
extra function call into tc_classify_compat(), as both are being
exported as symbols and tc_classify() itself doesn't do much except
handling of reclassifications when tp->classify() returned with
TC_ACT_RECLASSIFY.

CBQ and ATM are the only qdiscs that directly call into tc_classify_compat(),
all others use tc_classify(). When tc actions are being configured
out in the kernel, tc_classify() effectively does nothing besides
delegating.

We could spare this layer and consolidate both functions. pktgen on
single CPU constantly pushing skbs directly into the netif_receive_skb()
path with a dummy classifier on ingress qdisc attached, improves
slightly from 22.3Mpps to 23.1Mpps.

Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Alexei Starovoitov <ast@plumgrid.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 files changed:
include/net/pkt_sched.h
net/core/dev.c
net/sched/sch_api.c
net/sched/sch_atm.c
net/sched/sch_cbq.c
net/sched/sch_choke.c
net/sched/sch_drr.c
net/sched/sch_dsmark.c
net/sched/sch_fq_codel.c
net/sched/sch_hfsc.c
net/sched/sch_htb.c
net/sched/sch_multiq.c
net/sched/sch_prio.c
net/sched/sch_qfq.c
net/sched/sch_sfb.c
net/sched/sch_sfq.c