OpenCloudOS-Kernel/net/sched
John Fastabend 6401585366 net: sched: restrict use of qstats qlen
This removes the use of qstats->qlen variable from the classifiers
and makes it an explicit argument to gnet_stats_copy_queue().

The qlen represents the qdisc queue length and is packed into
the qstats at the last moment before passnig to user space. By
handling it explicitely we avoid, in the percpu stats case, having
to figure out which per_cpu variable to put it in.

It would probably be best to remove it from qstats completely
but qstats is a user space ABI and can't be broken. A future
patch could make an internal only qstats structure that would
avoid having to allocate an additional u32 variable on the
Qdisc struct. This would make the qstats struct 128bits instead
of 128+32.

Signed-off-by: John Fastabend <john.r.fastabend@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-30 01:02:26 -04:00
..
Kconfig net: pkt_sched: PIE AQM scheme 2014-01-06 15:13:01 -05:00
Makefile net: pkt_sched: PIE AQM scheme 2014-01-06 15:13:01 -05:00
act_api.c net: sched: restrict use of qstats qlen 2014-09-30 01:02:26 -04:00
act_csum.c net_sched: act: move tcf_hashinfo_init() into tcf_register_action() 2014-02-12 19:23:32 -05:00
act_gact.c net_sched: act: move tcf_hashinfo_init() into tcf_register_action() 2014-02-12 19:23:32 -05:00
act_ipt.c net_sched: act: move tcf_hashinfo_init() into tcf_register_action() 2014-02-12 19:23:32 -05:00
act_mirred.c net_sched: hold tcf_lock in netdevice notifier 2014-07-20 20:31:42 -07:00
act_nat.c net_sched: act: move tcf_hashinfo_init() into tcf_register_action() 2014-02-12 19:23:32 -05:00
act_pedit.c net_sched: act: move tcf_hashinfo_init() into tcf_register_action() 2014-02-12 19:23:32 -05:00
act_police.c net: sched: make bstats per cpu and estimator RCU safe 2014-09-30 01:02:26 -04:00
act_simple.c net_sched: act: move tcf_hashinfo_init() into tcf_register_action() 2014-02-12 19:23:32 -05:00
act_skbedit.c net_sched: act: move tcf_hashinfo_init() into tcf_register_action() 2014-02-12 19:23:32 -05:00
cls_api.c net_sched: remove the first parameter from tcf_exts_destroy() 2014-09-28 17:29:01 -04:00
cls_basic.c net_sched: remove the first parameter from tcf_exts_destroy() 2014-09-28 17:29:01 -04:00
cls_bpf.c net_sched: remove the first parameter from tcf_exts_destroy() 2014-09-28 17:29:01 -04:00
cls_cgroup.c net_sched: remove the first parameter from tcf_exts_destroy() 2014-09-28 17:29:01 -04:00
cls_flow.c net_sched: remove the first parameter from tcf_exts_destroy() 2014-09-28 17:29:01 -04:00
cls_fw.c net_sched: remove the first parameter from tcf_exts_destroy() 2014-09-28 17:29:01 -04:00
cls_route.c net_sched: remove the first parameter from tcf_exts_destroy() 2014-09-28 17:29:01 -04:00
cls_rsvp.c
cls_rsvp.h net: sched: cls_rcvp, complete rcu conversion 2014-09-29 00:04:55 -04:00
cls_rsvp6.c
cls_tcindex.c net_sched: fix another regression in cls_tcindex 2014-09-28 17:34:35 -04:00
cls_u32.c net_sched: remove the first parameter from tcf_exts_destroy() 2014-09-28 17:29:01 -04:00
em_canid.c net: em_canid: remove useless statements from em_canid_change 2014-06-21 15:40:22 -07:00
em_cmp.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
em_ipset.c em_ipset: use dev_net() accessor 2013-10-18 16:23:06 -04:00
em_meta.c net: Change skb_get_rxhash to skb_get_hash 2013-12-17 16:36:21 -05:00
em_nbyte.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
em_text.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
em_u32.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
ematch.c net: Convert net_ratelimit uses to net_<level>_ratelimited 2012-05-15 13:45:03 -04:00
sch_api.c net: sched: restrict use of qstats qlen 2014-09-30 01:02:26 -04:00
sch_atm.c net: sched: restrict use of qstats qlen 2014-09-30 01:02:26 -04:00
sch_blackhole.c pkt_sched: Add qdisc->ops->peek() implementation. 2008-10-31 00:45:55 -07:00
sch_cbq.c net: sched: restrict use of qstats qlen 2014-09-30 01:02:26 -04:00
sch_choke.c net: sched: implement qstat helper routines 2014-09-30 01:02:26 -04:00
sch_codel.c net: sched: implement qstat helper routines 2014-09-30 01:02:26 -04:00
sch_drr.c net: sched: restrict use of qstats qlen 2014-09-30 01:02:26 -04:00
sch_dsmark.c net: sched: implement qstat helper routines 2014-09-30 01:02:26 -04:00
sch_fifo.c net: sched: implement qstat helper routines 2014-09-30 01:02:26 -04:00
sch_fq.c net: sched: implement qstat helper routines 2014-09-30 01:02:26 -04:00
sch_fq_codel.c net: sched: restrict use of qstats qlen 2014-09-30 01:02:26 -04:00
sch_generic.c net: sched: make bstats per cpu and estimator RCU safe 2014-09-30 01:02:26 -04:00
sch_gred.c net: sched: implement qstat helper routines 2014-09-30 01:02:26 -04:00
sch_hfsc.c net: sched: restrict use of qstats qlen 2014-09-30 01:02:26 -04:00
sch_hhf.c net: sched: implement qstat helper routines 2014-09-30 01:02:26 -04:00
sch_htb.c net: sched: restrict use of qstats qlen 2014-09-30 01:02:26 -04:00
sch_ingress.c net: sched: implement qstat helper routines 2014-09-30 01:02:26 -04:00
sch_mq.c net: sched: restrict use of qstats qlen 2014-09-30 01:02:26 -04:00
sch_mqprio.c net: sched: restrict use of qstats qlen 2014-09-30 01:02:26 -04:00
sch_multiq.c net: sched: restrict use of qstats qlen 2014-09-30 01:02:26 -04:00
sch_netem.c net: sched: implement qstat helper routines 2014-09-30 01:02:26 -04:00
sch_pie.c net: sched: implement qstat helper routines 2014-09-30 01:02:26 -04:00
sch_plug.c net_sched: sch_plug: plug_qdisc_ops is static 2012-02-13 16:04:40 -05:00
sch_prio.c net: sched: restrict use of qstats qlen 2014-09-30 01:02:26 -04:00
sch_qfq.c net: sched: restrict use of qstats qlen 2014-09-30 01:02:26 -04:00
sch_red.c net: sched: implement qstat helper routines 2014-09-30 01:02:26 -04:00
sch_sfb.c net: sched: implement qstat helper routines 2014-09-30 01:02:26 -04:00
sch_sfq.c net: sched: restrict use of qstats qlen 2014-09-30 01:02:26 -04:00
sch_tbf.c net: sched: implement qstat helper routines 2014-09-30 01:02:26 -04:00
sch_teql.c net: qdisc: use rcu prefix and silence sparse warnings 2014-09-13 12:30:25 -04:00