Thread (8 messages) flat view 8 messages, 2 authors, 2016-01-12

Re: [PATCH net-next 0/4] batch calls to fib_flush and arp_ifdown

From: Salam Noureddine <hidden>
Date: 2016-01-12 01:53:17

Any thoughts on the correctness of the patchset? Or a different way to
solve this issue leading to long rtnl_lock hold time?

Thanks,

Salam

On Mon, Jan 4, 2016 at 5:12 PM, Salam Noureddine [off-list ref] wrote:
On Mon, Jan 4, 2016 at 4:35 PM, Eric W. Biederman [off-list ref] wrote:
quoted
Two things would be very valuable with this patchset.

Some numbers on how much your changes have improved the code in the case
you care about.  I suspect the improvements are not subtle so this
should not be hard.

Can you please provide a justification for event_list.  Just skimming
through it appears that event_list because a duplicate of the list of
batched network devices that are passed to dev_close_many and friends.
If the list is actually a duplicate it appears foolish to create it.

Eric
The performance test I ran tries to unregister 1000 dummy interfaces
with 512K routes in the fib.
Without the patch I could unregister 35 interfaces per second and with
the patch it jumped to 620
interfaces per second. 512K is a lot of routes but I am assuming we
would get a good improvement
even with 100K routes in the fib.

I am using event_list to put all the net namespaces in the current
net_device batch on a list and only
call the NETDEV_UNREGISTER_BATCH on those namespaces. It would be
possible to just call the
notifier for NETDEV_DOWN/UNREGISTER_BATCH for all the devices on the
list and rely on the
needs_fib_flush flag to only call fib_flush once per namespace but it
seems like a waste to me.

Salam
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help