mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-30 23:54:04 +08:00
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:
parent
45dd95c443
commit
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();
|
||||
|
Loading…
Reference in New Issue
Block a user