diff options
| author | Ben Pfaff <blp@nicira.com> | 2011-01-26 09:42:28 -0800 |
|---|---|---|
| committer | Ben Pfaff <blp@nicira.com> | 2011-01-27 21:08:41 -0800 |
| commit | 057dd6d279c20e88f98bbe8328383564391bbc8f (patch) | |
| tree | 3a72f7bff6c4f0161c787e7595e9e00efb36687a /datapath/vport-internal_dev.c | |
| parent | c0a0ac4f414cd17caead7c1066b016ddbc28b9ce (diff) | |
| download | openvswitch-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.c | 1 |
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; |
