ifb: fix rcu_sched self-detected stalls
Subsystems (2)
PATCH 1/1 ifb: fix rcu_sched self-detected stalls
According to the commit 16b0dc29c1af9df341428f4c49ada4f626258082 (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.
--- drivers/net/ifb.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/net/ifb.c +3 -1
@@ -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 ();
Signature · 1 line
1.8.0
David Miller
maintainerFrom: Ding Tianhong <[email protected]>
Date: Wed, 10 Jul 2013 12:04:02 +0800
Quoted 8 lines
According to the commit
16b0dc29c1af9df341428f4c49ada4f626258082(dummy: fixrcu_schedself-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 :
Quoted 7 lines
INFO: rcu_sched self-detected stall on CPUAfter 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 <[email protected]>
Applied and queued up for -stable, thanks.