diff mbox series

[6/9] migration: Replaced qemu_mutex_lock calls with QEMU_LOCK_GUARD

Message ID 20210311031538.5325-7-ma.mandourr@gmail.com (mailing list archive)
State New, archived
Headers show
Series Changing qemu_mutex_locks to lock guard macros | expand

Commit Message

Mahmoud Abumandour March 11, 2021, 3:15 a.m. UTC
Replaced various qemu_mutex_lock calls and their respective
qemu_mutex_unlock calls with QEMU_LOCK_GUARD macro. This simplifies
the code by eliminating the respective qemu_mutex_unlock calls.

Signed-off-by: Mahmoud Mandour <ma.mandourr@gmail.com>
---
 migration/migration.c | 6 ++----
 migration/ram.c       | 6 ++----
 2 files changed, 4 insertions(+), 8 deletions(-)

Comments

Dr. David Alan Gilbert March 11, 2021, 9:44 a.m. UTC | #1
* Mahmoud Mandour (ma.mandourr@gmail.com) wrote:
> Replaced various qemu_mutex_lock calls and their respective
> qemu_mutex_unlock calls with QEMU_LOCK_GUARD macro. This simplifies
> the code by eliminating the respective qemu_mutex_unlock calls.
> 
> Signed-off-by: Mahmoud Mandour <ma.mandourr@gmail.com>

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

> ---
>  migration/migration.c | 6 ++----
>  migration/ram.c       | 6 ++----
>  2 files changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/migration/migration.c b/migration/migration.c
> index a5ddf43559..36768391b6 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -323,7 +323,7 @@ static int migrate_send_rp_message(MigrationIncomingState *mis,
>      int ret = 0;
>  
>      trace_migrate_send_rp_message((int)message_type, len);
> -    qemu_mutex_lock(&mis->rp_mutex);
> +    QEMU_LOCK_GUARD(&mis->rp_mutex);
>  
>      /*
>       * It's possible that the file handle got lost due to network
> @@ -331,7 +331,7 @@ static int migrate_send_rp_message(MigrationIncomingState *mis,
>       */
>      if (!mis->to_src_file) {
>          ret = -EIO;
> -        goto error;
> +        return ret;
>      }
>  
>      qemu_put_be16(mis->to_src_file, (unsigned int)message_type);
> @@ -342,8 +342,6 @@ static int migrate_send_rp_message(MigrationIncomingState *mis,
>      /* It's possible that qemu file got error during sending */
>      ret = qemu_file_get_error(mis->to_src_file);
>  
> -error:
> -    qemu_mutex_unlock(&mis->rp_mutex);
>      return ret;
>  }
>  
> diff --git a/migration/ram.c b/migration/ram.c
> index 72143da0ac..52537f14ac 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -819,7 +819,7 @@ static inline bool migration_bitmap_clear_dirty(RAMState *rs,
>  {
>      bool ret;
>  
> -    qemu_mutex_lock(&rs->bitmap_mutex);
> +    QEMU_LOCK_GUARD(&rs->bitmap_mutex);
>  
>      /*
>       * Clear dirty bitmap if needed.  This _must_ be called before we
> @@ -852,7 +852,6 @@ static inline bool migration_bitmap_clear_dirty(RAMState *rs,
>      if (ret) {
>          rs->migration_dirty_pages--;
>      }
> -    qemu_mutex_unlock(&rs->bitmap_mutex);
>  
>      return ret;
>  }
> @@ -3275,7 +3274,7 @@ static void decompress_data_with_multi_threads(QEMUFile *f,
>      int idx, thread_count;
>  
>      thread_count = migrate_decompress_threads();
> -    qemu_mutex_lock(&decomp_done_lock);
> +    QEMU_LOCK_GUARD(&decomp_done_lock);
>      while (true) {
>          for (idx = 0; idx < thread_count; idx++) {
>              if (decomp_param[idx].done) {
> @@ -3295,7 +3294,6 @@ static void decompress_data_with_multi_threads(QEMUFile *f,
>              qemu_cond_wait(&decomp_done_cond, &decomp_done_lock);
>          }
>      }
> -    qemu_mutex_unlock(&decomp_done_lock);
>  }
>  
>   /*
> -- 
> 2.25.1
>
Dr. David Alan Gilbert March 15, 2021, 6:01 p.m. UTC | #2
* Dr. David Alan Gilbert (dgilbert@redhat.com) wrote:
> * Mahmoud Mandour (ma.mandourr@gmail.com) wrote:
> > Replaced various qemu_mutex_lock calls and their respective
> > qemu_mutex_unlock calls with QEMU_LOCK_GUARD macro. This simplifies
> > the code by eliminating the respective qemu_mutex_unlock calls.
> > 
> > Signed-off-by: Mahmoud Mandour <ma.mandourr@gmail.com>
> 
> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

I've queued 5 and 6 via my queue.

Dave

> > ---
> >  migration/migration.c | 6 ++----
> >  migration/ram.c       | 6 ++----
> >  2 files changed, 4 insertions(+), 8 deletions(-)
> > 
> > diff --git a/migration/migration.c b/migration/migration.c
> > index a5ddf43559..36768391b6 100644
> > --- a/migration/migration.c
> > +++ b/migration/migration.c
> > @@ -323,7 +323,7 @@ static int migrate_send_rp_message(MigrationIncomingState *mis,
> >      int ret = 0;
> >  
> >      trace_migrate_send_rp_message((int)message_type, len);
> > -    qemu_mutex_lock(&mis->rp_mutex);
> > +    QEMU_LOCK_GUARD(&mis->rp_mutex);
> >  
> >      /*
> >       * It's possible that the file handle got lost due to network
> > @@ -331,7 +331,7 @@ static int migrate_send_rp_message(MigrationIncomingState *mis,
> >       */
> >      if (!mis->to_src_file) {
> >          ret = -EIO;
> > -        goto error;
> > +        return ret;
> >      }
> >  
> >      qemu_put_be16(mis->to_src_file, (unsigned int)message_type);
> > @@ -342,8 +342,6 @@ static int migrate_send_rp_message(MigrationIncomingState *mis,
> >      /* It's possible that qemu file got error during sending */
> >      ret = qemu_file_get_error(mis->to_src_file);
> >  
> > -error:
> > -    qemu_mutex_unlock(&mis->rp_mutex);
> >      return ret;
> >  }
> >  
> > diff --git a/migration/ram.c b/migration/ram.c
> > index 72143da0ac..52537f14ac 100644
> > --- a/migration/ram.c
> > +++ b/migration/ram.c
> > @@ -819,7 +819,7 @@ static inline bool migration_bitmap_clear_dirty(RAMState *rs,
> >  {
> >      bool ret;
> >  
> > -    qemu_mutex_lock(&rs->bitmap_mutex);
> > +    QEMU_LOCK_GUARD(&rs->bitmap_mutex);
> >  
> >      /*
> >       * Clear dirty bitmap if needed.  This _must_ be called before we
> > @@ -852,7 +852,6 @@ static inline bool migration_bitmap_clear_dirty(RAMState *rs,
> >      if (ret) {
> >          rs->migration_dirty_pages--;
> >      }
> > -    qemu_mutex_unlock(&rs->bitmap_mutex);
> >  
> >      return ret;
> >  }
> > @@ -3275,7 +3274,7 @@ static void decompress_data_with_multi_threads(QEMUFile *f,
> >      int idx, thread_count;
> >  
> >      thread_count = migrate_decompress_threads();
> > -    qemu_mutex_lock(&decomp_done_lock);
> > +    QEMU_LOCK_GUARD(&decomp_done_lock);
> >      while (true) {
> >          for (idx = 0; idx < thread_count; idx++) {
> >              if (decomp_param[idx].done) {
> > @@ -3295,7 +3294,6 @@ static void decompress_data_with_multi_threads(QEMUFile *f,
> >              qemu_cond_wait(&decomp_done_cond, &decomp_done_lock);
> >          }
> >      }
> > -    qemu_mutex_unlock(&decomp_done_lock);
> >  }
> >  
> >   /*
> > -- 
> > 2.25.1
> > 
> -- 
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
> 
>
diff mbox series

Patch

diff --git a/migration/migration.c b/migration/migration.c
index a5ddf43559..36768391b6 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -323,7 +323,7 @@  static int migrate_send_rp_message(MigrationIncomingState *mis,
     int ret = 0;
 
     trace_migrate_send_rp_message((int)message_type, len);
-    qemu_mutex_lock(&mis->rp_mutex);
+    QEMU_LOCK_GUARD(&mis->rp_mutex);
 
     /*
      * It's possible that the file handle got lost due to network
@@ -331,7 +331,7 @@  static int migrate_send_rp_message(MigrationIncomingState *mis,
      */
     if (!mis->to_src_file) {
         ret = -EIO;
-        goto error;
+        return ret;
     }
 
     qemu_put_be16(mis->to_src_file, (unsigned int)message_type);
@@ -342,8 +342,6 @@  static int migrate_send_rp_message(MigrationIncomingState *mis,
     /* It's possible that qemu file got error during sending */
     ret = qemu_file_get_error(mis->to_src_file);
 
-error:
-    qemu_mutex_unlock(&mis->rp_mutex);
     return ret;
 }
 
diff --git a/migration/ram.c b/migration/ram.c
index 72143da0ac..52537f14ac 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -819,7 +819,7 @@  static inline bool migration_bitmap_clear_dirty(RAMState *rs,
 {
     bool ret;
 
-    qemu_mutex_lock(&rs->bitmap_mutex);
+    QEMU_LOCK_GUARD(&rs->bitmap_mutex);
 
     /*
      * Clear dirty bitmap if needed.  This _must_ be called before we
@@ -852,7 +852,6 @@  static inline bool migration_bitmap_clear_dirty(RAMState *rs,
     if (ret) {
         rs->migration_dirty_pages--;
     }
-    qemu_mutex_unlock(&rs->bitmap_mutex);
 
     return ret;
 }
@@ -3275,7 +3274,7 @@  static void decompress_data_with_multi_threads(QEMUFile *f,
     int idx, thread_count;
 
     thread_count = migrate_decompress_threads();
-    qemu_mutex_lock(&decomp_done_lock);
+    QEMU_LOCK_GUARD(&decomp_done_lock);
     while (true) {
         for (idx = 0; idx < thread_count; idx++) {
             if (decomp_param[idx].done) {
@@ -3295,7 +3294,6 @@  static void decompress_data_with_multi_threads(QEMUFile *f,
             qemu_cond_wait(&decomp_done_cond, &decomp_done_lock);
         }
     }
-    qemu_mutex_unlock(&decomp_done_lock);
 }
 
  /*