From: Jesse Gross Date: Thu, 9 Dec 2010 07:29:10 +0000 (-0800) Subject: datapath: Drop synchronize_rcu() in internal dev destroy. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=60ba76ea15b6758904b37c4c030e3f133c503c69;p=openvswitch datapath: Drop synchronize_rcu() in internal dev destroy. unregister_netdevice() contains a call to synchronize_rcu(), so there is no need to directly call it ourselves immediately beforehand. We were relying on the call during unregistration anyways to stop packets from being transmited on the device, so our version was both misleading and had a performance penalty. Signed-off-by: Jesse Gross Acked-by: Ben Pfaff --- diff --git a/datapath/vport-internal_dev.c b/datapath/vport-internal_dev.c index c88fb3b3..74a7dfdb 100644 --- a/datapath/vport-internal_dev.c +++ b/datapath/vport-internal_dev.c @@ -219,8 +219,6 @@ static int internal_dev_destroy(struct vport *vport) netif_stop_queue(netdev_vport->dev); dev_set_promiscuity(netdev_vport->dev, -1); - synchronize_rcu(); - unregister_netdevice(netdev_vport->dev); vport_free(vport);