ifb: fix rcu_sched self-detected stalls
According to the commit 16b0dc29c1
(dummy: fix rcu_sched self-detected stalls)
Eric Dumazet fix the problem in dummy, but the ifb will occur the
same problem like the dummy modules.
Trying to "modprobe ifb numifbs=30000" triggers :
INFO: rcu_sched self-detected stall on CPU
After this splat, RTNL is locked and reboot is needed.
We must call cond_resched() to avoid this, even holding RTNL.
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
45dd95c443
Коммит
440d57bc5f
|
@ -292,8 +292,10 @@ static int __init ifb_init_module(void)
|
|||
rtnl_lock();
|
||||
err = __rtnl_link_register(&ifb_link_ops);
|
||||
|
||||
for (i = 0; i < numifbs && !err; i++)
|
||||
for (i = 0; i < numifbs && !err; i++) {
|
||||
err = ifb_init_one(i);
|
||||
cond_resched();
|
||||
}
|
||||
if (err)
|
||||
__rtnl_link_unregister(&ifb_link_ops);
|
||||
rtnl_unlock();
|
||||
|
|
Загрузка…
Ссылка в новой задаче