summaryrefslogtreecommitdiff
path: root/datapath/vport-internal_dev.c
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2011-01-26 09:42:28 -0800
committerBen Pfaff <blp@nicira.com>2011-01-27 21:08:41 -0800
commit057dd6d279c20e88f98bbe8328383564391bbc8f (patch)
tree3a72f7bff6c4f0161c787e7595e9e00efb36687a /datapath/vport-internal_dev.c
parentc0a0ac4f414cd17caead7c1066b016ddbc28b9ce (diff)
downloadopenvswitch-057dd6d279c20e88f98bbe8328383564391bbc8f.tar.gz
datapath: Eliminate vport_mutex by protecting vport table with RCU.
The vport_mutex really only protects the vport dev_table, which isn't very much. By getting rid of it we take one step toward simplifying the vswitch locking, which will necessarily have to be based mainly around the Generic Netlink genl_mutex once we switch to Generic Netlink. Signed-off-by: Ben Pfaff <blp@nicira.com> Acked-by: Jesse Gross <jesse@nicira.com>
Diffstat (limited to 'datapath/vport-internal_dev.c')
-rw-r--r--datapath/vport-internal_dev.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/datapath/vport-internal_dev.c b/datapath/vport-internal_dev.c
index b5406c735..1df618011 100644
--- a/datapath/vport-internal_dev.c
+++ b/datapath/vport-internal_dev.c
@@ -217,6 +217,7 @@ static int internal_dev_destroy(struct vport *vport)
dev_set_promiscuity(netdev_vport->dev, -1);
unregister_netdevice(netdev_vport->dev);
+ /* unregister_netdevice() waits for an RCU grace period. */
vport_free(vport);
return 0;