[ovs-dev] [PATCH] dpif-netdev: End the quiescent state for flow offloading thread.

Ilya Maximets i.maximets at samsung.com
Wed Oct 31 15:44:09 UTC 2018

Flow offloading thread uses concurrent hash maps which are
based on rcu protected variables. It must use them while in
active state. Working in a quiescent state could cause
segmentation faults because of possible cmap internal
structure changes.

Fixes: 02bb2824e51d ("dpif-netdev: do hw flow offload in a thread")
Signed-off-by: Ilya Maximets <i.maximets at samsung.com>
 lib/dpif-netdev.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
index 5839f2375..8136b0389 100644
--- a/lib/dpif-netdev.c
+++ b/lib/dpif-netdev.c
@@ -2396,6 +2396,7 @@ dp_netdev_flow_offload_main(void *data OVS_UNUSED)
+            ovsrcu_quiesce_end();
         list = ovs_list_pop_front(&dp_flow_offload.list);
         offload = CONTAINER_OF(list, struct dp_flow_offload_item, node);

More information about the dev mailing list