[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1432077893-4431-1-git-send-email-baptiste@arista.com>
Date: Tue, 19 May 2015 16:24:50 -0700
From: Baptiste Covolato <baptiste@...sta.com>
To: "David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org
Cc: Francesco Ruggeri <fruggeri@...sta.com>,
Eric Mowat <mowat@...sta.com>,
Adrien Schildknecht <adrien+dev@...ischi.me>
Subject: [PATCH net-next 0/3] Unserialize netdev_run_todo
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@...sta.com>
Signed-off-by: Francesco Ruggeri <fruggeri@...sta.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
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists