]> git.baikalelectronics.ru Git - kernel.git/commit
pkt_sched: fq: do not hold qdisc lock while allocating memory
authorEric Dumazet <edumazet@google.com>
Fri, 7 Mar 2014 06:57:52 +0000 (22:57 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 9 Mar 2014 00:09:10 +0000 (19:09 -0500)
commit9cc0c8cb55af48a57b1eea6fa877f8109659e210
treec42c299205f38d9a6ab275d53de74583f56e2119
parent25f8a8037041c21c5d2e4f21a9f8a16a76b359d5
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: c80bf3d5e95c ("pkt_sched: fq: Fair Queue packet scheduler")
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_fq.c