[ovs-dev] [PATCH 2/2] ofproto: Add more thread safety annotations.

Alex Wang alexw at nicira.com
Wed Jan 8 21:13:24 UTC 2014


Looks good to me,


On Mon, Nov 25, 2013 at 2:14 PM, Ben Pfaff <blp at nicira.com> wrote:

> These would have found the problem fixed in the previous patch.
>
> Signed-off-by: Ben Pfaff <blp at nicira.com>
> ---
>  ofproto/connmgr.c   |    3 ++-
>  ofproto/fail-open.c |    3 +++
>  ofproto/fail-open.h |    6 +++---
>  3 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/ofproto/connmgr.c b/ofproto/connmgr.c
> index a062772..cd15e0f 100644
> --- a/ofproto/connmgr.c
> +++ b/ofproto/connmgr.c
> @@ -454,7 +454,7 @@ static void add_controller(struct connmgr *, const
> char *target, uint8_t dscp,
>      OVS_REQUIRES(ofproto_mutex);
>  static struct ofconn *find_controller_by_target(struct connmgr *,
>                                                  const char *target);
> -static void update_fail_open(struct connmgr *);
> +static void update_fail_open(struct connmgr *)
> OVS_EXCLUDED(ofproto_mutex);
>  static int set_pvconns(struct pvconn ***pvconnsp, size_t *n_pvconnsp,
>                         const struct sset *);
>
> @@ -771,6 +771,7 @@ update_in_band_remotes(struct connmgr *mgr)
>
>  static void
>  update_fail_open(struct connmgr *mgr)
> +    OVS_EXCLUDED(ofproto_mutex)
>  {
>      if (connmgr_has_controllers(mgr)
>          && mgr->fail_mode == OFPROTO_FAIL_STANDALONE) {
> diff --git a/ofproto/fail-open.c b/ofproto/fail-open.c
> index bae9dca..9ac80b6 100644
> --- a/ofproto/fail-open.c
> +++ b/ofproto/fail-open.c
> @@ -182,6 +182,7 @@ fail_open_run(struct fail_open *fo)
>   * controller, exits fail open mode. */
>  void
>  fail_open_maybe_recover(struct fail_open *fo)
> +    OVS_EXCLUDED(ofproto_mutex)
>  {
>      if (fail_open_is_active(fo)
>          && connmgr_is_any_controller_admitted(fo->connmgr)) {
> @@ -191,6 +192,7 @@ fail_open_maybe_recover(struct fail_open *fo)
>
>  static void
>  fail_open_recover(struct fail_open *fo)
> +    OVS_EXCLUDED(ofproto_mutex)
>  {
>      struct match match;
>
> @@ -250,6 +252,7 @@ fail_open_create(struct ofproto *ofproto, struct
> connmgr *mgr)
>  /* Destroys 'fo'. */
>  void
>  fail_open_destroy(struct fail_open *fo)
> +    OVS_EXCLUDED(ofproto_mutex)
>  {
>      if (fo) {
>          if (fail_open_is_active(fo)) {
> diff --git a/ofproto/fail-open.h b/ofproto/fail-open.h
> index c8e1f32..725b82d 100644
> --- a/ofproto/fail-open.h
> +++ b/ofproto/fail-open.h
> @@ -40,11 +40,11 @@ is_fail_open_rule(const struct rule *rule)
>  }
>
>  struct fail_open *fail_open_create(struct ofproto *, struct connmgr *);
> -void fail_open_destroy(struct fail_open *);
> +void fail_open_destroy(struct fail_open *) OVS_EXCLUDED(ofproto_mutex);
>  void fail_open_wait(struct fail_open *);
>  bool fail_open_is_active(const struct fail_open *);
>  void fail_open_run(struct fail_open *);
> -void fail_open_maybe_recover(struct fail_open *);
> -void fail_open_flushed(struct fail_open *);
> +void fail_open_maybe_recover(struct fail_open *)
> OVS_EXCLUDED(ofproto_mutex);
> +void fail_open_flushed(struct fail_open *) OVS_EXCLUDED(ofproto_mutex);
>
>  #endif /* fail-open.h */
> --
> 1.7.10.4
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-dev/attachments/20140108/5c2078d5/attachment-0003.html>


More information about the dev mailing list