This series of patches adds thread safety to a bunch of modules used by ofproto-dpif-xlate. The first patch of the series adds support for clang's thread safety annotations which as Alex mentioned aren't quite upstreamed yet. I've made some minor modifications on top of what he's sent out already.
Ethan Jackson (11): clang: Add annotations for thread safety check. stp: Make the STP module thread safe. cfm: Make the CFM module thread safe. lacp: Make the LACP module thread safe. bfd: Make the BFD module thread safe. netdev-vport: Make statistics thread safe. bond: Make the bond module thread safe. mac-learning: Make the mac-learning module thread safe. tunnel: Make the ofproto-dpif tunnel module thread safe. ofproto-dpif-sflow: Make the ofproto-dpif-sflow module thread safe. ofproto-dpif-ipfix: Make the ofproto-dpif-ipfix module thread safe. include/sparse/pthread.h | 14 +- lib/bfd.c | 166 ++++++++++++------- lib/bond.c | 190 +++++++++++++++------- lib/cfm.c | 168 ++++++++++++++------ lib/command-line.c | 28 ++-- lib/compiler.h | 107 ++++++++++--- lib/dpif-linux.c | 34 ++-- lib/dpif-netdev.c | 98 ++++++------ lib/dpif.c | 30 ++-- lib/fatal-signal.c | 24 +-- lib/jsonrpc.c | 8 +- lib/lacp.c | 165 +++++++++++++------ lib/learning-switch.c | 9 ++ lib/lockfile.c | 32 ++-- lib/mac-learning.c | 17 +- lib/mac-learning.h | 66 +++++--- lib/netdev-dummy.c | 9 +- lib/netdev-vport.c | 12 +- lib/netdev-vport.h | 16 +- lib/netlink-socket.c | 12 +- lib/ofp-msgs.c | 8 +- lib/ofp-parse.c | 8 +- lib/ovs-atomic-gcc4+.c | 14 +- lib/ovs-atomic-pthreads.c | 8 +- lib/ovs-atomic-pthreads.h | 2 +- lib/ovs-thread.c | 119 ++++++++++---- lib/ovs-thread.h | 101 ++++++++---- lib/stp.c | 360 ++++++++++++++++++++++++++++++++---------- lib/stp.h | 3 +- lib/timeval.c | 22 +-- lib/uuid.c | 6 +- lib/vlog.c | 82 ++++++---- lib/vlog.h | 4 +- ofproto/ofproto-dpif-ipfix.c | 43 +++-- ofproto/ofproto-dpif-sflow.c | 92 +++++++++-- ofproto/ofproto-dpif-xlate.c | 12 +- ofproto/ofproto-dpif.c | 28 +++- ofproto/tunnel.c | 102 ++++++++---- tests/test-stp.c | 2 +- vswitchd/system-stats.c | 28 ++-- 40 files changed, 1545 insertions(+), 704 deletions(-) -- 1.7.9.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev