linux/net/sched
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_rsvp6.c
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_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
em_cmp.c
em_ipset.c
em_meta.c
em_nbyte.c
em_text.c
em_u32.c
ematch.c
Kconfig
Makefile
sch_api.c pkt_sched: move the sanity test in qdisc_list_add() 2014-03-10 15:44:21 -04:00
sch_atm.c
sch_blackhole.c
sch_cbq.c
sch_choke.c random32: add prandom_u32_max and convert open coded users 2014-01-21 23:17:20 -08:00
sch_codel.c
sch_drr.c
sch_dsmark.c
sch_fifo.c
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_fq.c pkt_sched: fq: do not hold qdisc lock while allocating memory 2014-03-10 16:17:52 -04: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
sch_hfsc.c
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
sch_mq.c
sch_mqprio.c
sch_multiq.c
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
sch_prio.c
sch_qfq.c
sch_red.c
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