[ovs-dev] general question about synchronization in ovs

Jarno Rajahalme jarno at ovn.org
Thu Dec 15 21:00:34 UTC 2016


> On Dec 15, 2016, at 7:55 AM, Yuxin Ren <ryx at gwmail.gwu.edu> wrote:
> 
> Hi,
> 
> I am a beginner to OVS.
> I have some basic questions about OVS.
> 
> Is it a multiple threads application?

Yes.

> If so, what data structures are shared by multiple threads?

Most of them, e.g., flow tables, group tables, and most of the internal data structures.

> What synchronization technique is used to protect shared data structures?
> 

Mutual exclusion locks, atomic variables, as well as RCU where reader performance is important.

You should take a look at lib/ovs-atomic*.h, lib/ovs-thread.h, and lib/ovs-rcu.h, and then see how these constructs are used in the code.

Regards,

  Jarno


> Thanks a lot!!
> Yuxin
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev



More information about the dev mailing list