Thanks, applied to master.

On Fri, Aug 09, 2013 at 12:44:13PM -0700, Alex Wang wrote:
> Looks good to me, thanks,
> 
> 
> On Fri, Aug 9, 2013 at 12:34 PM, Ben Pfaff <b...@nicira.com> wrote:
> 
> > An upcoming patch will add the first uses.
> >
> > Signed-off-by: Ben Pfaff <b...@nicira.com>
> > ---
> > This will be used by a revision of the netdev patch 27/27
> > that I am about to send out.
> >
> >  lib/compiler.h |   17 +++++++++++++++++
> >  1 file changed, 17 insertions(+)
> >
> > diff --git a/lib/compiler.h b/lib/compiler.h
> > index 94a2218..2ca81bd 100644
> > --- a/lib/compiler.h
> > +++ b/lib/compiler.h
> > @@ -65,6 +65,16 @@
> >   *      while the specific MUTEX is held.
> >   *
> >   *
> > + * On a variable A of mutex type:
> > + *
> > + *    - OVS_ACQ_BEFORE(B), where B is a mutex or a comma-separated list of
> > + *      mutexes, declare that if both A and B are acquired at the same
> > time,
> > + *      then A must be acquired before B.  That is, B nests inside A.
> > + *
> > + *    - OVS_ACQ_AFTER(B) is the opposite of OVS_ACQ_BEFORE(B), that is, it
> > + *      declares that A nests inside B.
> > + *
> > + *
> >   * On a function, the following attributes apply to mutexes:
> >   *
> >   *    - OVS_ACQUIRES(MUTEX) indicate that the function must be called
> > without
> > @@ -84,6 +94,7 @@
> >   *    - OVS_LOCKS_EXCLUDED(MUTEX) indicates that the function may only be
> >   *      called when MUTEX is not held.
> >   *
> > + *
> >   * The following variants, with the same syntax, apply to reader-writer
> > locks:
> >   *
> >   *    mutex                rwlock, for reading  rwlock, for writing
> > @@ -115,6 +126,8 @@
> >  #define OVS_GUARDED_BY(...) __attribute__((guarded_by(__VA_ARGS__)))
> >  #define OVS_RELEASES(...) __attribute__((unlock_function(__VA_ARGS__)))
> >  #define OVS_EXCLUDED(...) __attribute__((locks_excluded(__VA_ARGS__)))
> > +#define OVS_ACQ_BEFORE(...) __attribute__((acquired_before(__VA_ARGS__)))
> > +#define OVS_ACQ_AFTER(...) __attribute__((acquired_after(__VA_ARGS__)))
> >  #elif __CHECKER__
> >  /* "sparse" annotations for mutexes and mutex-like constructs.
> >   *
> > @@ -136,6 +149,8 @@
> >  #define OVS_GUARDED_BY(...)
> >  #define OVS_EXCLUDED(...)
> >  #define OVS_RELEASES(...)   __attribute__((context(MUTEX, 1, 0)))
> > +#define OVS_ACQ_BEFORE(...)
> > +#define OVS_ACQ_AFTER(...)
> >  #define OVS_MACRO_LOCK(...) __context__(MUTEX, 0, 1)
> >  #define OVS_MACRO_RELEASE(...) __context__(MUTEX, 1, 0)
> >  #else
> > @@ -153,6 +168,8 @@
> >  #define OVS_GUARDED_BY(...)
> >  #define OVS_EXCLUDED(...)
> >  #define OVS_RELEASES(...)
> > +#define OVS_ACQ_BEFORE(...)
> > +#define OVS_ACQ_AFTER(...)
> >  #define OVS_MACRO_LOCK(...)
> >  #define OVS_MACRO_RELEASE(...)
> >  #endif
> > --
> > 1.7.10.4
> >
> > _______________________________________________
> > dev mailing list
> > dev@openvswitch.org
> > http://openvswitch.org/mailman/listinfo/dev
> >
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to