lkml.org 
[lkml]   [2010]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: 2.6.34-rc1: rcu lockdep bug?
    From
    On Fri, Mar 12, 2010 at 4:07 PM, David Miller <davem@davemloft.net> wrote:
    > From: Américo Wang <xiyou.wangcong@gmail.com>
    > Date: Fri, 12 Mar 2010 15:56:03 +0800
    >
    >> Ok, after decoding the lockdep output, it looks like that
    >> netif_receive_skb() should call rcu_read_lock_bh() instead of rcu_read_lock()?
    >> But I don't know if all callers of netif_receive_skb() are in softirq context.
    >
    > Normally, netif_receive_skb() is invoked from softirq context.
    >
    > However, via netpoll it can be invoked essentially from any context.
    >
    > But, when this happens, the networking receive path makes amends such
    > that this works fine.  That's what the netpoll_receive_skb() check in
    > netif_receive_skb() is for.  That check makes it bail out early if the
    > call to netif_receive_skb() is via a netpoll invocation.
    >

    Oh, I see. This means we should call rcu_read_lock_bh() instead.
    If Paul has no objections, I will send a patch for this.

    Thanks much, David!
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2010-03-12 10:01    [W:0.055 / U:0.536 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site