Re: [PATCH v3] net: use exponential backoff in netdev_wait_allrefs

2020-09-18 Thread Eric Dumazet
On Fri, Sep 18, 2020 at 10:48 AM Eric Dumazet wrote: > > > Also, I would try using synchronize_rcu() instead of the first s/synchronize_rcu/rcu_barrier/ of course :/ > msleep(), this might avoid all msleep() calls in your case. > > Patch without the macros to see the general idea : > > diff --

Re: [PATCH v3] net: use exponential backoff in netdev_wait_allrefs

2020-09-18 Thread Eric Dumazet
On Fri, Sep 18, 2020 at 1:49 AM Francesco Ruggeri wrote: > > The combination of aca_free_rcu, introduced in commit 2384d02520ff > ("net/ipv6: Add anycast addresses to a global hashtable"), and > fib6_info_destroy_rcu, introduced in commit 9b0a8da8c4c6 ("net/ipv6: > respect rcu grace period before

Re: [PATCH v3] net: use exponential backoff in netdev_wait_allrefs

2020-09-17 Thread Francesco Ruggeri
On Thu, Sep 17, 2020 at 5:02 PM Stephen Hemminger wrote: > Is there anyway to make RCU trigger faster? This is a case of the networking code requiring multiple cascading grace periods (functions executing at the end of a period scheduling more functions for the end of the next period), so it's a

Re: [PATCH v3] net: use exponential backoff in netdev_wait_allrefs

2020-09-17 Thread Stephen Hemminger
On Thu, 17 Sep 2020 16:49:53 -0700 frugg...@arista.com (Francesco Ruggeri) wrote: > The combination of aca_free_rcu, introduced in commit 2384d02520ff > ("net/ipv6: Add anycast addresses to a global hashtable"), and > fib6_info_destroy_rcu, introduced in commit 9b0a8da8c4c6 ("net/ipv6: > respect r

[PATCH v3] net: use exponential backoff in netdev_wait_allrefs

2020-09-17 Thread Francesco Ruggeri
The combination of aca_free_rcu, introduced in commit 2384d02520ff ("net/ipv6: Add anycast addresses to a global hashtable"), and fib6_info_destroy_rcu, introduced in commit 9b0a8da8c4c6 ("net/ipv6: respect rcu grace period before freeing fib6_info"), can result in an extra rcu grace period being n