[Qemu-devel] [PATCH v12 09/21] migration: Define MultifdRecvParams sooner

Juan Quintela posted 21 patches 7 years, 6 months ago
There is a newer version of this series
[Qemu-devel] [PATCH v12 09/21] migration: Define MultifdRecvParams sooner
Posted by Juan Quintela 7 years, 6 months ago
Once there, we don't need the struct names anywhere, just the
typedefs.  And now also document all fields.

Signed-off-by: Juan Quintela <quintela@redhat.com>
---
 migration/ram.c | 46 +++++++++++++++++++++++++++++++---------------
 1 file changed, 31 insertions(+), 15 deletions(-)

diff --git a/migration/ram.c b/migration/ram.c
index 1aab392d8f..ffefa73099 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -412,17 +412,45 @@ typedef struct {
     uint8_t id;
 } __attribute__((packed)) MultiFDInit_t;
 
-struct MultiFDSendParams {
+typedef struct {
+    /* this fields are not changed once the thread is created */
+    /* channel number */
     uint8_t id;
+    /* channel thread name */
     char *name;
+    /* channel thread id */
     QemuThread thread;
+    /* communication channel */
     QIOChannel *c;
+    /* sem where to wait for more work */
     QemuSemaphore sem;
+    /* this mutex protects the following parameters */
     QemuMutex mutex;
+    /* is this channel thread running */
     bool running;
+    /* should this thread finish */
     bool quit;
-};
-typedef struct MultiFDSendParams MultiFDSendParams;
+}  MultiFDSendParams;
+
+typedef struct {
+    /* this fields are not changed once the thread is created */
+    /* channel number */
+    uint8_t id;
+    /* channel thread name */
+    char *name;
+    /* channel thread id */
+    QemuThread thread;
+    /* communication channel */
+    QIOChannel *c;
+    /* sem where to wait for more work */
+    QemuSemaphore sem;
+    /* this mutex protects the following parameters */
+    QemuMutex mutex;
+    /* is this channel thread running */
+    bool running;
+    /* should this thread finish */
+    bool quit;
+} MultiFDRecvParams;
 
 static int multifd_send_initial_packet(MultiFDSendParams *p, Error **errp)
 {
@@ -619,18 +647,6 @@ int multifd_save_setup(void)
     return 0;
 }
 
-struct MultiFDRecvParams {
-    uint8_t id;
-    char *name;
-    QemuThread thread;
-    QIOChannel *c;
-    QemuSemaphore sem;
-    QemuMutex mutex;
-    bool running;
-    bool quit;
-};
-typedef struct MultiFDRecvParams MultiFDRecvParams;
-
 struct {
     MultiFDRecvParams *params;
     /* number of created threads */
-- 
2.17.0


Re: [Qemu-devel] [PATCH v12 09/21] migration: Define MultifdRecvParams sooner
Posted by Dr. David Alan Gilbert 7 years, 5 months ago
* Juan Quintela (quintela@redhat.com) wrote:
> Once there, we don't need the struct names anywhere, just the
> typedefs.  And now also document all fields.
> 
> Signed-off-by: Juan Quintela <quintela@redhat.com>

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

> ---
>  migration/ram.c | 46 +++++++++++++++++++++++++++++++---------------
>  1 file changed, 31 insertions(+), 15 deletions(-)
> 
> diff --git a/migration/ram.c b/migration/ram.c
> index 1aab392d8f..ffefa73099 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -412,17 +412,45 @@ typedef struct {
>      uint8_t id;
>  } __attribute__((packed)) MultiFDInit_t;
>  
> -struct MultiFDSendParams {
> +typedef struct {
> +    /* this fields are not changed once the thread is created */
> +    /* channel number */
>      uint8_t id;
> +    /* channel thread name */
>      char *name;
> +    /* channel thread id */
>      QemuThread thread;
> +    /* communication channel */
>      QIOChannel *c;
> +    /* sem where to wait for more work */
>      QemuSemaphore sem;
> +    /* this mutex protects the following parameters */
>      QemuMutex mutex;
> +    /* is this channel thread running */
>      bool running;
> +    /* should this thread finish */
>      bool quit;
> -};
> -typedef struct MultiFDSendParams MultiFDSendParams;
> +}  MultiFDSendParams;
> +
> +typedef struct {
> +    /* this fields are not changed once the thread is created */
> +    /* channel number */
> +    uint8_t id;
> +    /* channel thread name */
> +    char *name;
> +    /* channel thread id */
> +    QemuThread thread;
> +    /* communication channel */
> +    QIOChannel *c;
> +    /* sem where to wait for more work */
> +    QemuSemaphore sem;
> +    /* this mutex protects the following parameters */
> +    QemuMutex mutex;
> +    /* is this channel thread running */
> +    bool running;
> +    /* should this thread finish */
> +    bool quit;
> +} MultiFDRecvParams;
>  
>  static int multifd_send_initial_packet(MultiFDSendParams *p, Error **errp)
>  {
> @@ -619,18 +647,6 @@ int multifd_save_setup(void)
>      return 0;
>  }
>  
> -struct MultiFDRecvParams {
> -    uint8_t id;
> -    char *name;
> -    QemuThread thread;
> -    QIOChannel *c;
> -    QemuSemaphore sem;
> -    QemuMutex mutex;
> -    bool running;
> -    bool quit;
> -};
> -typedef struct MultiFDRecvParams MultiFDRecvParams;
> -
>  struct {
>      MultiFDRecvParams *params;
>      /* number of created threads */
> -- 
> 2.17.0
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK