]> 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>
Mon, 10 Mar 2014 20:17:52 +0000 (16:17 -0400)
commit9646c0b68fb029578f4a8e2d9addbec4e569b603
tree1b7adfd5d18587f90bca216b130c069bda53cf8b
parent86149b4e9458a46fab87241cc1febc7ae50970a3
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