As mentioned by Alexei last week in Budapest, it is a bit weird to take a spinlock in order to drop a packet in a tc filter...
Lets add percpu infra for tc actions and use it for gact. Before changes, my host with 8 RX queues was handling 5 Mpps, and more than 10 Mpps after. Signed-off-by: Eric Dumazet <[email protected]> Cc: Alexei Starovoitov <[email protected]> Cc: Jamal Hadi Salim <[email protected]> Cc: John Fastabend <[email protected]> Eric Dumazet (6): net: sched: extend percpu stats helpers net: sched: add percpu stats to actions net_sched: act: make tcfg_pval non zero net_sched: act: use a separate packet counters for gact_determ() net_sched: act: read tcfg_ptype once net_sched: act: remove spinlock in fast path include/net/act_api.h | 4 +++- include/net/sch_generic.h | 27 +++++++++++++++++---------- include/net/tc_act/tc_gact.h | 7 ++++--- net/core/dev.c | 4 ++-- net/sched/act_api.c | 44 ++++++++++++++++++++++++++++++++++---------- net/sched/act_bpf.c | 2 +- net/sched/act_connmark.c | 3 ++- net/sched/act_csum.c | 3 ++- net/sched/act_gact.c | 35 ++++++++++++++++++----------------- net/sched/act_ipt.c | 2 +- net/sched/act_mirred.c | 3 ++- net/sched/act_nat.c | 3 ++- net/sched/act_pedit.c | 3 ++- net/sched/act_simple.c | 3 ++- net/sched/act_skbedit.c | 3 ++- net/sched/act_vlan.c | 3 ++- 16 files changed, 96 insertions(+), 53 deletions(-) -- 2.4.3.573.g4eafbef -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
