net_sched: factorize qdisc stats handling
authorEric Dumazet <eric.dumazet@gmail.com>
Sun, 9 Jan 2011 08:30:54 +0000 (08:30 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 11 Jan 2011 00:07:54 +0000 (16:07 -0800)
commitbfe0d0298f2a67d94d58c39ea904a999aeeb7c3c
tree5a6f966ebabe8d88d6d6c78c61411e325150927f
parentf1593d2298acca8b6680100d622911827edb8b0a
net_sched: factorize qdisc stats handling

HTB takes into account skb is segmented in stats updates.
Generalize this to all schedulers.

They should use qdisc_bstats_update() helper instead of manipulating
bstats.bytes and bstats.packets

Add bstats_update() helper too for classes that use
gnet_stats_basic_packed fields.

Note : Right now, TCQ_F_CAN_BYPASS shortcurt can be taken only if no
stab is setup on qdisc.

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
24 files changed:
include/net/sch_generic.h
net/core/dev.c
net/sched/act_csum.c
net/sched/act_ipt.c
net/sched/act_mirred.c
net/sched/act_nat.c
net/sched/act_pedit.c
net/sched/act_police.c
net/sched/act_simple.c
net/sched/act_skbedit.c
net/sched/sch_atm.c
net/sched/sch_cbq.c
net/sched/sch_drr.c
net/sched/sch_dsmark.c
net/sched/sch_hfsc.c
net/sched/sch_htb.c
net/sched/sch_ingress.c
net/sched/sch_multiq.c
net/sched/sch_netem.c
net/sched/sch_prio.c
net/sched/sch_red.c
net/sched/sch_sfq.c
net/sched/sch_tbf.c
net/sched/sch_teql.c