On Wed, Feb 10, 2016 at 04:32:33PM -0500, Russell Bryant wrote: > On 02/03/2016 04:50 PM, Ben Pfaff wrote: > > This could be beneficial if we ever insert a new module at runtime > > (currently we only insert them at startup) and it should have negligible > > cost. > > > > Suggested-by: Russell Bryant <russ...@ovn.org> > > Signed-off-by: Ben Pfaff <b...@ovn.org> > > Acked-by: Russell Bryant <russ...@ovn.org>
Thanks. I'll apply patches 4, 5, and 6 to master in a minute, then. > > @@ -104,13 +101,18 @@ DEFINE_STATIC_PER_THREAD_DATA(unsigned int, msg_num, > > 0); > > * > > * All of the following is protected by 'log_file_mutex', which nests > > inside > > * pattern_rwlock. */ > > -static struct ovs_mutex log_file_mutex = OVS_MUTEX_INITIALIZER; > > +static struct ovs_mutex log_file_mutex OVS_ACQ_AFTER(pattern_rwlock) > > + = OVS_MUTEX_INITIALIZER; > > btw, I *love* these macros enabling thread safety attributes from clang. > They probably would have saved me a lot of pain in a previous life. Beware: current versions of Clang don't actually honor OVS_ACQ_AFTER and OVS_ACQ_BEFORE. I still find them helpful as in-code documentation. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev