summaryrefslogtreecommitdiff
path: root/ofproto/ofproto-dpif-upcall.h
diff options
context:
space:
mode:
authorBen Pfaff <blp@ovn.org>2020-01-09 12:49:43 -0800
committerBen Pfaff <blp@ovn.org>2020-01-24 13:00:52 -0800
commit586cd3101e7fda54d14fb5bf12d847f35d968627 (patch)
tree6b8524081557570f834bb4b3287c2ee171f5c46f /ofproto/ofproto-dpif-upcall.h
parent929dc96d0bca21fe3dc134cf45c3e0718811536a (diff)
downloadopenvswitch-586cd3101e7fda54d14fb5bf12d847f35d968627.tar.gz
ofproto-dpif-upcall: Get rid of udpif_synchronize().
RCU provides the semantics we want from udpif_synchronize() and it should be much more lightweight than killing and restarting all the upcall threads. It looks like udpif_synchronize() was written before the OVS tree had RCU support, which is probably why we didn't use it here from the beginning. So we can just change udpif_synchronize() to a single ovsrcu_synchronize() call. However, udpif_synchronize() only has a single caller, which calls ovsrcu_synchronize() anyway just beforehand, via xlate_txn_commit(). So we can get rid of udpif_synchronize() entirely, which this patch does. As a side effect, this eliminates one reason why terminating OVS cleanly clears the datapath flow table. An upcoming patch will eliminate other reasons. Acked-by: Numan Siddique <numans@ovn.org> Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'ofproto/ofproto-dpif-upcall.h')
-rw-r--r--ofproto/ofproto-dpif-upcall.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/ofproto/ofproto-dpif-upcall.h b/ofproto/ofproto-dpif-upcall.h
index cef1d3419..693107ae5 100644
--- a/ofproto/ofproto-dpif-upcall.h
+++ b/ofproto/ofproto-dpif-upcall.h
@@ -33,7 +33,6 @@ struct udpif *udpif_create(struct dpif_backer *, struct dpif *);
void udpif_run(struct udpif *udpif);
void udpif_set_threads(struct udpif *, size_t n_handlers,
size_t n_revalidators);
-void udpif_synchronize(struct udpif *);
void udpif_destroy(struct udpif *);
void udpif_revalidate(struct udpif *);
void udpif_get_memory_usage(struct udpif *, struct simap *usage);