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

Reply via email to