[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM_iQpV67iFZptFfWPXqrFD6GW3JKR78GwocqnA1BeTS3fJaAA@mail.gmail.com>
Date: Fri, 28 Sep 2018 10:31:39 -0700
From: Cong Wang <xiyou.wangcong@...il.com>
To: Dave Jones <davej@...emonkey.org.uk>
Cc: Linux Kernel Network Developers <netdev@...r.kernel.org>
Subject: Re: bond: take rcu lock in bond_poll_controller
On Fri, Sep 28, 2018 at 10:25 AM Dave Jones <davej@...emonkey.org.uk> wrote:
>
> On Fri, Sep 28, 2018 at 09:55:52AM -0700, Cong Wang wrote:
> > On Fri, Sep 28, 2018 at 9:18 AM Dave Jones <davej@...emonkey.org.uk> wrote:
> > >
> > > Callers of bond_for_each_slave_rcu are expected to hold the rcu lock,
> > > otherwise a trace like below is shown
> >
> > So why not take rcu read lock in netpoll_send_skb_on_dev() where
> > RCU is also assumed?
>
> that does seem to solve the backtrace spew I saw too, so if that's
> preferable I can respin the patch.
>From my observations, netpoll_send_skb_on_dev() does not take
RCU read lock _and_ it relies on rcu read lock because it calls
rcu_dereference_bh().
If my observation is correct, you should catch a RCU warning like
this but within netpoll_send_skb_on_dev().
>
> > As I said, I can't explain why you didn't trigger the RCU warning in
> > netpoll_send_skb_on_dev()...
>
> netpoll_send_skb_on_dev takes the rcu lock itself.
Could you please point me where exactly is the rcu lock here?
I am too stupid to see it. :)
Powered by blists - more mailing lists