diff mbox

[04/11] migration: split use of MigrationState.total_time

Message ID 20180103054043.25719-5-peterx@redhat.com (mailing list archive)
State New, archived
Headers show

Commit Message

Peter Xu Jan. 3, 2018, 5:40 a.m. UTC
It was used either to:

1. store initial timestamp of migration start, and
2. store total time used by last migration

Let's provide two parameters for each of them.  Mix use of the two is
slightly misleading.

Signed-off-by: Peter Xu <peterx@redhat.com>
---
 migration/migration.c | 13 +++++++------
 migration/migration.h |  5 ++++-
 2 files changed, 11 insertions(+), 7 deletions(-)

Comments

Juan Quintela Jan. 3, 2018, 8:58 a.m. UTC | #1
Peter Xu <peterx@redhat.com> wrote:
> It was used either to:
>
> 1. store initial timestamp of migration start, and
> 2. store total time used by last migration
>
> Let's provide two parameters for each of them.  Mix use of the two is
> slightly misleading.
>
> Signed-off-by: Peter Xu <peterx@redhat.com>

Reviewed-by: Juan Quintela <quintela@redhat.com>

If you have to respin, I would like to use the names:

start_time and total_time, i.e. without the mig_ preffix, because they
are in an struct that is clearly named migration O:-)

For the rest, good cleanup.

Later, Juan.


> ---
>  migration/migration.c | 13 +++++++------
>  migration/migration.h |  5 ++++-
>  2 files changed, 11 insertions(+), 7 deletions(-)
>
> diff --git a/migration/migration.c b/migration/migration.c
> index 20f7565527..b684c2005d 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -613,7 +613,7 @@ MigrationInfo *qmp_query_migrate(Error **errp)
>          info->has_status = true;
>          info->has_total_time = true;
>          info->total_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME)
> -            - s->total_time;
> +            - s->mig_start_time;
>          info->has_expected_downtime = true;
>          info->expected_downtime = s->expected_downtime;
>          info->has_setup_time = true;
> @@ -629,7 +629,7 @@ MigrationInfo *qmp_query_migrate(Error **errp)
>      case MIGRATION_STATUS_COMPLETED:
>          info->has_status = true;
>          info->has_total_time = true;
> -        info->total_time = s->total_time;
> +        info->total_time = s->mig_total_time;
>          info->has_downtime = true;
>          info->downtime = s->downtime;
>          info->has_setup_time = true;
> @@ -1270,7 +1270,8 @@ MigrationState *migrate_init(void)
>  
>      migrate_set_state(&s->state, MIGRATION_STATUS_NONE, MIGRATION_STATUS_SETUP);
>  
> -    s->total_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME);
> +    s->mig_start_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME);
> +    s->mig_total_time = 0;
>      return s;
>  }
>  
> @@ -2293,13 +2294,13 @@ static void *migration_thread(void *opaque)
>      qemu_mutex_lock_iothread();
>      if (s->state == MIGRATION_STATUS_COMPLETED) {
>          uint64_t transferred_bytes = qemu_ftell(s->to_dst_file);
> -        s->total_time = end_time - s->total_time;
> +        s->mig_total_time = end_time - s->mig_start_time;
>          if (!entered_postcopy) {
>              s->downtime = end_time - start_time;
>          }
> -        if (s->total_time) {
> +        if (s->mig_total_time) {
>              s->mbps = (((double) transferred_bytes * 8.0) /
> -                       ((double) s->total_time)) / 1000;
> +                       ((double) s->mig_total_time)) / 1000;
>          }
>          runstate_set(RUN_STATE_POSTMIGRATE);
>      } else {
> diff --git a/migration/migration.h b/migration/migration.h
> index 663415fe48..ac74a12713 100644
> --- a/migration/migration.h
> +++ b/migration/migration.h
> @@ -103,7 +103,10 @@ struct MigrationState
>      } rp_state;
>  
>      double mbps;
> -    int64_t total_time;
> +    /* Timestamp when recent migration starts (ms) */
> +    int64_t mig_start_time;
> +    /* Total time used by latest migration (ms) */
> +    int64_t mig_total_time;
>      int64_t downtime;
>      int64_t expected_downtime;
>      bool enabled_capabilities[MIGRATION_CAPABILITY__MAX];
Peter Xu Jan. 3, 2018, 9:04 a.m. UTC | #2
On Wed, Jan 03, 2018 at 09:58:10AM +0100, Juan Quintela wrote:
> Peter Xu <peterx@redhat.com> wrote:
> > It was used either to:
> >
> > 1. store initial timestamp of migration start, and
> > 2. store total time used by last migration
> >
> > Let's provide two parameters for each of them.  Mix use of the two is
> > slightly misleading.
> >
> > Signed-off-by: Peter Xu <peterx@redhat.com>
> 
> Reviewed-by: Juan Quintela <quintela@redhat.com>

Thanks!

> 
> If you have to respin, I would like to use the names:

(I think it very possible :-)

> 
> start_time and total_time, i.e. without the mig_ preffix, because they
> are in an struct that is clearly named migration O:-)

Oh, it's my bad (or good?) habit of keeping some prefix so that cscope
won't mix these variables with others.  I think the problem is that
cscope is always using a global namespace for variables.  Considering
this do you still like me to change? :) Any suggestions on better
usage of cscope would be greatly welcomed too!

(Sure I can rename that!  It's not a big deal)
Juan Quintela Jan. 3, 2018, 9:20 a.m. UTC | #3
Peter Xu <peterx@redhat.com> wrote:
> On Wed, Jan 03, 2018 at 09:58:10AM +0100, Juan Quintela wrote:
>> Peter Xu <peterx@redhat.com> wrote:
>> > It was used either to:
>> >
>> > 1. store initial timestamp of migration start, and
>> > 2. store total time used by last migration
>> >
>> > Let's provide two parameters for each of them.  Mix use of the two is
>> > slightly misleading.
>> >
>> > Signed-off-by: Peter Xu <peterx@redhat.com>
>> 
>> Reviewed-by: Juan Quintela <quintela@redhat.com>
>
> Thanks!
>
>> 
>> If you have to respin, I would like to use the names:
>
> (I think it very possible :-)
>
>> 
>> start_time and total_time, i.e. without the mig_ preffix, because they
>> are in an struct that is clearly named migration O:-)
>
> Oh, it's my bad (or good?) habit of keeping some prefix so that cscope
> won't mix these variables with others.  I think the problem is that
> cscope is always using a global namespace for variables.  Considering
> this do you still like me to change? :) Any suggestions on better
> usage of cscope would be greatly welcomed too!

I only use cscope very ocassionally, so I can't comment about its usage.
As said, I put the reviewed-by anyways.  But if you dont want to use
generic names like start_time/total_time, then please use the full name:

- migration_start_time
- migration_total_time

It is only used a couple of times, and clearer to read.  I normally only
put _prefixes_ if context don't make clear what the variable means.  If
I need *context* I tend to use the full name of things, not
abbreviations.  But yes, not all the code is coherent/consistent.

Later, Juan.


>
> (Sure I can rename that!  It's not a big deal)
Peter Xu Jan. 3, 2018, 9:29 a.m. UTC | #4
On Wed, Jan 03, 2018 at 10:20:39AM +0100, Juan Quintela wrote:
> Peter Xu <peterx@redhat.com> wrote:
> > On Wed, Jan 03, 2018 at 09:58:10AM +0100, Juan Quintela wrote:
> >> Peter Xu <peterx@redhat.com> wrote:
> >> > It was used either to:
> >> >
> >> > 1. store initial timestamp of migration start, and
> >> > 2. store total time used by last migration
> >> >
> >> > Let's provide two parameters for each of them.  Mix use of the two is
> >> > slightly misleading.
> >> >
> >> > Signed-off-by: Peter Xu <peterx@redhat.com>
> >> 
> >> Reviewed-by: Juan Quintela <quintela@redhat.com>
> >
> > Thanks!
> >
> >> 
> >> If you have to respin, I would like to use the names:
> >
> > (I think it very possible :-)
> >
> >> 
> >> start_time and total_time, i.e. without the mig_ preffix, because they
> >> are in an struct that is clearly named migration O:-)
> >
> > Oh, it's my bad (or good?) habit of keeping some prefix so that cscope
> > won't mix these variables with others.  I think the problem is that
> > cscope is always using a global namespace for variables.  Considering
> > this do you still like me to change? :) Any suggestions on better
> > usage of cscope would be greatly welcomed too!
> 
> I only use cscope very ocassionally, so I can't comment about its usage.
> As said, I put the reviewed-by anyways.  But if you dont want to use
> generic names like start_time/total_time, then please use the full name:
> 
> - migration_start_time
> - migration_total_time
> 
> It is only used a couple of times, and clearer to read.  I normally only
> put _prefixes_ if context don't make clear what the variable means.  If
> I need *context* I tend to use the full name of things, not
> abbreviations.  But yes, not all the code is coherent/consistent.

I'll use the shorter ones.  Thanks!
diff mbox

Patch

diff --git a/migration/migration.c b/migration/migration.c
index 20f7565527..b684c2005d 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -613,7 +613,7 @@  MigrationInfo *qmp_query_migrate(Error **errp)
         info->has_status = true;
         info->has_total_time = true;
         info->total_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME)
-            - s->total_time;
+            - s->mig_start_time;
         info->has_expected_downtime = true;
         info->expected_downtime = s->expected_downtime;
         info->has_setup_time = true;
@@ -629,7 +629,7 @@  MigrationInfo *qmp_query_migrate(Error **errp)
     case MIGRATION_STATUS_COMPLETED:
         info->has_status = true;
         info->has_total_time = true;
-        info->total_time = s->total_time;
+        info->total_time = s->mig_total_time;
         info->has_downtime = true;
         info->downtime = s->downtime;
         info->has_setup_time = true;
@@ -1270,7 +1270,8 @@  MigrationState *migrate_init(void)
 
     migrate_set_state(&s->state, MIGRATION_STATUS_NONE, MIGRATION_STATUS_SETUP);
 
-    s->total_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME);
+    s->mig_start_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME);
+    s->mig_total_time = 0;
     return s;
 }
 
@@ -2293,13 +2294,13 @@  static void *migration_thread(void *opaque)
     qemu_mutex_lock_iothread();
     if (s->state == MIGRATION_STATUS_COMPLETED) {
         uint64_t transferred_bytes = qemu_ftell(s->to_dst_file);
-        s->total_time = end_time - s->total_time;
+        s->mig_total_time = end_time - s->mig_start_time;
         if (!entered_postcopy) {
             s->downtime = end_time - start_time;
         }
-        if (s->total_time) {
+        if (s->mig_total_time) {
             s->mbps = (((double) transferred_bytes * 8.0) /
-                       ((double) s->total_time)) / 1000;
+                       ((double) s->mig_total_time)) / 1000;
         }
         runstate_set(RUN_STATE_POSTMIGRATE);
     } else {
diff --git a/migration/migration.h b/migration/migration.h
index 663415fe48..ac74a12713 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -103,7 +103,10 @@  struct MigrationState
     } rp_state;
 
     double mbps;
-    int64_t total_time;
+    /* Timestamp when recent migration starts (ms) */
+    int64_t mig_start_time;
+    /* Total time used by latest migration (ms) */
+    int64_t mig_total_time;
     int64_t downtime;
     int64_t expected_downtime;
     bool enabled_capabilities[MIGRATION_CAPABILITY__MAX];