On Sun, Oct 22, 2017 at 7:47 PM, Chris Mi <chr...@mellanox.com> wrote:
>
> It seems it is not easy to discard call_rcu().  I'm afraid even if we have a 
> final solution
> without call_rcu(), it is not mature at the beginning as well. I mean we also 
> need time

Why do you believe it is not easy? RTNL lock is already there,
list_splice_init_rcu() is there too. I can naturally divide my patches
for each module so that they are much easier to backport than
yours.


> to fix the possible bugs of the new design. And maybe to destroy the filters 
> in parallel
> is the right direction. If this bug is the last bug brought by call_rcu(), 
> then changing it
> may not be a good idea.

Again, you have to prove this is the last bug, I seriously doubt
it is.


>
> Patch 1 is straightforward to use atomic. Patch 2 is to convert the list to 
> array.

Both are big in size.


> I think there is no harm to the new design.  Patch 3 and 4 are useful test 
> case.

It definitely doesn't harm, but why do we waste time on it when we
know there is a better way? It is clearly not easy for backport either,
in fact it is harder w.r.t. size.


> We also need it with new design to make sure there is no regression.
>

Are you saying I can't trust your test cases? ;)


> So I think my patch set should not be held so long time.

I think your patches should be dropped except the last two,
I will take the last two for you.

Thanks!

Reply via email to