lkml.org 
[lkml]   [2013]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 62/75] ifb: fix rcu_sched self-detected stalls
    Date
    3.8.13.6 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: dingtianhong <dingtianhong@huawei.com>

    [ Upstream commit 440d57bc5ff55ec1efb3efc9cbe9420b4bbdfefa ]

    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.

    Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    drivers/net/ifb.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    diff --git a/drivers/net/ifb.c b/drivers/net/ifb.c
    index 344dceb..04ab337 100644
    --- a/drivers/net/ifb.c
    +++ b/drivers/net/ifb.c
    @@ -291,8 +291,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();
    --
    1.8.1.2


    \
     
     \ /
      Last update: 2013-07-30 21:21    [W:4.127 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site