netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/3] Unserialize netdev_run_todo
@ 2015-05-19 23:24 Baptiste Covolato
  2015-05-19 23:24 ` [PATCH net-next 1/3] net: Flush all skbs related to an unregistered device Baptiste Covolato
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Baptiste Covolato @ 2015-05-19 23:24 UTC (permalink / raw)
  To: David S. Miller, netdev
  Cc: Francesco Ruggeri, Eric Mowat, Adrien Schildknecht

Interface deletion can be done in bulk for multiple
interfaces (e.g. rollback_registered_many), reducing the number of calls
needed to synchronize_net and rcu_barrier.
This logic is not used during the last phase of interface deletion after
the rtnl mutex has been released in netdev_run_todo. In this case the
deletion is done one interface at a time, resulting in multiple calls to
on_each_cpu as well as rcu_barrier if notifications have to be
rebroadcast. If any one interface's deletion is delayed, all interfaces
following it will also be delayed. This series of patches allows for the
last stage of interface deletion to also be done in bulk. In order to do
this it also modifies flush_backlog to delete packets for all interfaces
in NETREG_UNREGISTERED state.

Early work done by Adrien Schildknecht.

Signed-off-by: Baptiste Covolato <baptiste@arista.com>
Signed-off-by: Francesco Ruggeri <fruggeri@arista.com>

Baptiste Covolato (3):
  net: Flush all skbs related to an unregistered device
  net: Inline netdev_wait_allrefs inside netdev_run_todo
  net: Make netdev_run_todo call notifiers in parallel.

 net/core/dev.c | 183 +++++++++++++++++++++++++++++----------------------------
 1 file changed, 93 insertions(+), 90 deletions(-)

-- 
2.4.1

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-05-22  3:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-19 23:24 [PATCH net-next 0/3] Unserialize netdev_run_todo Baptiste Covolato
2015-05-19 23:24 ` [PATCH net-next 1/3] net: Flush all skbs related to an unregistered device Baptiste Covolato
2015-05-21 21:02   ` David Miller
2015-05-22  0:28     ` Francesco Ruggeri
2015-05-22  3:21       ` David Miller
2015-05-19 23:24 ` [PATCH net-next 2/3] net: Inline netdev_wait_allrefs inside netdev_run_todo Baptiste Covolato
2015-05-19 23:24 ` [PATCH net-next 3/3] net: Make netdev_run_todo call notifiers in parallel Baptiste Covolato

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).