net_sched: remove generic throttled management
authorEric Dumazet <edumazet@google.com>
Fri, 10 Jun 2016 23:41:39 +0000 (16:41 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 11 Jun 2016 06:58:21 +0000 (23:58 -0700)
commit45f50bed1d808794e514e9eed0e579a8756ce2ba
tree05d9f30419d6a5ef9b503487661959ef29c2fec5
parent42117927cab5a13192ecc227bea19da5059ffc6c
net_sched: remove generic throttled management

__QDISC_STATE_THROTTLED bit manipulation is rather expensive
for HTB and few others.

I already removed it for sch_fq in commit f2600cf02b5b
("net: sched: avoid costly atomic operation in fq_dequeue()")
and so far nobody complained.

When one ore more packets are stuck in one or more throttled
HTB class, a htb dequeue() performs two atomic operations
to clear/set __QDISC_STATE_THROTTLED bit, while root qdisc
lock is held.

Removing this pair of atomic operations bring me a 8 % performance
increase on 200 TCP_RR tests, in presence of throttled classes.

This patch has no side effect, since nothing actually uses
disc_is_throttled() anymore.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/pkt_sched.h
include/net/sch_generic.h
net/sched/sch_api.c
net/sched/sch_cbq.c
net/sched/sch_fq.c
net/sched/sch_hfsc.c
net/sched/sch_htb.c
net/sched/sch_netem.c
net/sched/sch_tbf.c