On Fri, 2017-10-27 at 08:37 -0700, Cong Wang wrote:
> On Thu, Oct 26, 2017 at 9:39 PM, Eric Dumazet wrote:
> > On Thu, 2017-10-26 at 21:28 -0700, Cong Wang wrote:
> >> On Thu, Oct 26, 2017 at 9:05 PM, Eric Dumazet
> >> wrote:
> >> Paul pointed out the same.
> >>
> >> As I replied, this rcu_barri
On Fri, Oct 27, 2017 at 4:55 AM, Paul E. McKenney
wrote:
>
> Would this be a good time for me to repeat my suggestion that timers
> be used to aggregate the work done in the workqueue handlers, thus
> decreasing the number of rcu_barrier() calls done under RTNL?
>
Yes, but not in this patchset. T
On Thu, Oct 26, 2017 at 9:39 PM, Eric Dumazet wrote:
> On Thu, 2017-10-26 at 21:28 -0700, Cong Wang wrote:
>> On Thu, Oct 26, 2017 at 9:05 PM, Eric Dumazet wrote:
>> Paul pointed out the same.
>>
>> As I replied, this rcu_barrier() is NOT added by this patchset, it is already
>> there in current
On Thu, Oct 26, 2017 at 09:39:26PM -0700, Eric Dumazet wrote:
> On Thu, 2017-10-26 at 21:28 -0700, Cong Wang wrote:
> > On Thu, Oct 26, 2017 at 9:05 PM, Eric Dumazet
> > wrote:
> > > On Thu, 2017-10-26 at 18:24 -0700, Cong Wang wrote:
> > >> ...
> > >
> > >> On the other hand, this makes tcf_bloc
On Thu, 2017-10-26 at 21:28 -0700, Cong Wang wrote:
> On Thu, Oct 26, 2017 at 9:05 PM, Eric Dumazet wrote:
> > On Thu, 2017-10-26 at 18:24 -0700, Cong Wang wrote:
> >> ...
> >
> >> On the other hand, this makes tcf_block_put() ugly and
> >> harder to understand. Since David and Eric strongly disli
On Thu, Oct 26, 2017 at 9:05 PM, Eric Dumazet wrote:
> On Thu, 2017-10-26 at 18:24 -0700, Cong Wang wrote:
>> ...
>
>> On the other hand, this makes tcf_block_put() ugly and
>> harder to understand. Since David and Eric strongly dislike
>> adding synchronize_rcu(), this is probably the only
>> sol
On Thu, 2017-10-26 at 18:24 -0700, Cong Wang wrote:
> ...
> On the other hand, this makes tcf_block_put() ugly and
> harder to understand. Since David and Eric strongly dislike
> adding synchronize_rcu(), this is probably the only
> solution that could make everyone happy.
...
> +static void tc
This patch introduces a dedicated workqueue for tc filters
so that each tc filter's RCU callback could defer their
action destroy work to this workqueue. The helper
tcf_queue_work() is introduced for them to use.
Because we hold RTNL lock when calling tcf_block_put(), we
can not simply flush works