[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAM_iQpVJXAvGmf_xFJnL_fTFDyqAXJg95_MwOwv4NyMNEvokHw@mail.gmail.com>
Date: Thu, 26 Oct 2017 12:10:14 -0700
From: Cong Wang <xiyou.wangcong@...il.com>
To: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc: David Miller <davem@...emloft.net>,
Linux Kernel Network Developers <netdev@...r.kernel.org>,
Jamal Hadi Salim <jhs@...atatu.com>,
John Fastabend <john.fastabend@...il.com>,
Chris Mi <chrism@...lanox.com>
Subject: Re: [Patch net 00/15] net_sched: remove RCU callbacks from TC
On Thu, Oct 26, 2017 at 6:58 AM, Paul E. McKenney
<paulmck@...ux.vnet.ibm.com> wrote:
>
> So when removing an entire chain, you flush any queued workqueue handlers
> to make sure that any operations using elements on that chain have also
> completed, correct? This might also motivate the rcu_barrier() calls.
Yes, we can only free it after all pending RCU callbacks and works finish,
because they are in the same chain and we are freeing the head of the
chain in tcf_block_put().
>
> Seems to me that your proposed patch is at least worth a try, then.
>
Thank you! Then it makes some basic sense. I did a quick test and
don't see any crash or lockdep warning.
Powered by blists - more mailing lists