Eric Dumazet
2818fa0fa0
pkt_sched: fq: do not hold qdisc lock while allocating memory
...
Resizing fq hash table allocates memory while holding qdisc spinlock,
with BH disabled.
This is definitely not good, as allocation might sleep.
We can drop the lock and get it when needed, we hold RTNL so no other
changes can happen at the same time.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Fixes: afe4fd0624 ("pkt_sched: fq: Fair Queue packet scheduler")
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-03-10 16:17:52 -04:00
..
act_api.c
net_sched: act: export tcf_hash_search() instead of tcf_hash_lookup()
2014-01-21 14:43:16 -08:00
act_csum.c
net_sched: act: fetch hinfo from a->ops->hinfo
2014-01-21 14:43:16 -08:00
act_gact.c
net_sched: act: fetch hinfo from a->ops->hinfo
2014-01-21 14:43:16 -08:00
act_ipt.c
net_sched: act: fetch hinfo from a->ops->hinfo
2014-01-21 14:43:16 -08:00
act_mirred.c
net_sched: act: fetch hinfo from a->ops->hinfo
2014-01-21 14:43:16 -08:00
act_nat.c
net_sched: act: fetch hinfo from a->ops->hinfo
2014-01-21 14:43:16 -08:00
act_pedit.c
net_sched: act: fetch hinfo from a->ops->hinfo
2014-01-21 14:43:16 -08:00
act_police.c
net_sched: act: export tcf_hash_search() instead of tcf_hash_lookup()
2014-01-21 14:43:16 -08:00
act_simple.c
net_sched: act: fetch hinfo from a->ops->hinfo
2014-01-21 14:43:16 -08:00
act_skbedit.c
net_sched: act: fetch hinfo from a->ops->hinfo
2014-01-21 14:43:16 -08:00
cls_api.c
net_sched: add struct net pointer to tcf_proto_ops->dump
2014-01-13 11:50:14 -08:00
cls_basic.c
net_sched: avoid casting void pointer
2014-01-13 11:50:15 -08:00
cls_bpf.c
net_sched: add struct net pointer to tcf_proto_ops->dump
2014-01-13 11:50:14 -08:00
cls_cgroup.c
net_sched: add struct net pointer to tcf_proto_ops->dump
2014-01-13 11:50:14 -08:00
cls_flow.c
net_sched: add struct net pointer to tcf_proto_ops->dump
2014-01-13 11:50:14 -08:00
cls_fw.c
net_sched: fix error return code in fw_change_attrs()
2014-01-16 19:12:03 -08:00
cls_route.c
net_sched: avoid casting void pointer
2014-01-13 11:50:15 -08:00
cls_rsvp.c
cls_rsvp.h
net_sched: add struct net pointer to tcf_proto_ops->dump
2014-01-13 11:50:14 -08:00
cls_rsvp6.c
cls_tcindex.c
net_sched: avoid casting void pointer
2014-01-13 11:50:15 -08:00
cls_u32.c
net_sched: avoid casting void pointer
2014-01-13 11:50:15 -08:00
em_canid.c
net: em_canid: Ematch rule to match CAN frames according to their identifiers
2012-07-04 13:07:05 +02: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
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
sch_api.c
pkt_sched: move the sanity test in qdisc_list_add()
2014-03-10 15:44:21 -04:00
sch_atm.c
net_sched: info leak in atm_tc_dump_class()
2013-07-31 15:04:19 -07:00
sch_blackhole.c
sch_cbq.c
net_sched: replace pr_warning with pr_warn
2013-12-31 13:50:56 -05:00
sch_choke.c
random32: add prandom_u32_max and convert open coded users
2014-01-21 23:17:20 -08:00
sch_codel.c
fq_codel: should use qdisc backlog as threshold
2012-05-16 15:30:26 -04:00
sch_drr.c
net_sched: add 64bit rate estimators
2013-06-11 02:51:03 -07:00
sch_dsmark.c
sch_dsmark: use correct func name in print messages
2013-12-31 13:50:57 -05:00
sch_fifo.c
pkt_sched: Stop using NLA_PUT*().
2012-04-01 18:11:37 -04:00
sch_fq.c
pkt_sched: fq: do not hold qdisc lock while allocating memory
2014-03-10 16:17:52 -04:00
sch_fq_codel.c
net: replace macros net_random and net_srandom with direct calls to prandom
2014-01-14 15:15:25 -08:00
sch_generic.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2014-01-14 14:42:42 -08:00
sch_gred.c
net_sched: replace pr_warning with pr_warn
2013-12-31 13:50:56 -05:00
sch_hfsc.c
net_sched: add 64bit rate estimators
2013-06-11 02:51:03 -07:00
sch_hhf.c
net: replace macros net_random and net_srandom with direct calls to prandom
2014-01-14 15:15:25 -08:00
sch_htb.c
sch_htb: let skb->priority refer to non-leaf class
2014-01-22 17:39:48 -08:00
sch_ingress.c
net_sched: factorize qdisc stats handling
2011-01-10 16:07:54 -08:00
sch_mq.c
pkt_sched: give visibility to mq slave qdiscs
2013-12-09 19:54:47 -05:00
sch_mqprio.c
pkt_sched: give visibility to mq slave qdiscs
2013-12-09 19:54:47 -05:00
sch_multiq.c
net/*: Fix FSF address in file headers
2013-12-06 12:37:57 -05:00
sch_netem.c
reciprocal_divide: update/correction of the algorithm
2014-01-21 23:17:20 -08:00
sch_pie.c
net: sched: Cleanup PIE comments
2014-02-13 18:29:58 -05:00
sch_plug.c
net_sched: sch_plug: plug_qdisc_ops is static
2012-02-13 16:04:40 -05:00
sch_prio.c
pkt_sched: Stop using NLA_PUT*().
2012-04-01 18:11:37 -04:00
sch_qfq.c
pkt_sched: sch_qfq: remove a source of high packet delay/jitter
2013-07-18 13:02:00 -07:00
sch_red.c
pkt_sched: Stop using NLA_PUT*().
2012-04-01 18:11:37 -04:00
sch_sfb.c
net: replace macros net_random and net_srandom with direct calls to prandom
2014-01-14 15:15:25 -08:00
sch_sfq.c
net: replace macros net_random and net_srandom with direct calls to prandom
2014-01-14 15:15:25 -08:00
sch_tbf.c
sch_tbf: Fix potential memory leak in tbf_change().
2014-02-27 12:53:50 -05:00
sch_teql.c
sch_teql: Convert over to dev_neigh_lookup_skb().
2012-07-05 01:09:06 -07:00