net: core: introduce mini_Qdisc and eliminate usage of tp->q for clsact fastpath
authorJiri Pirko <jiri@mellanox.com>
Fri, 3 Nov 2017 10:46:25 +0000 (11:46 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 3 Nov 2017 12:57:24 +0000 (21:57 +0900)
commit46209401f8f6116bd0b2c2d14a63958e83ffca0b
tree54915d3a3f2af715f1681da274e3a98f6198e71b
parentc7eb7d7230509ec862d4144f7a831f995bc5d028
net: core: introduce mini_Qdisc and eliminate usage of tp->q for clsact fastpath

In sch_handle_egress and sch_handle_ingress tp->q is used only in order
to update stats. So stats and filter list are the only things that are
needed in clsact qdisc fastpath processing. Introduce new mini_Qdisc
struct to hold those items. Also, introduce a helper to swap the
mini_Qdisc structures in case filter list head changes.

This removes need for tp->q usage without added overhead.

Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/netdevice.h
include/net/sch_generic.h
net/core/dev.c
net/sched/sch_generic.c
net/sched/sch_ingress.c