[0/4] migration stats fixes

Message ID 1359721976-19238-1-git-send-email-quintela@redhat.com
State New
Headers show


git://repo.or.cz/qemu/quintela.git stats.next


Juan Quintela Feb. 1, 2013, 12:32 p.m.

migration expected_downtime calculation was removed on commit

We add the calculation back.  Before doing the calculation we do:

- expected_downtime intial value is max_downtime.  Much, much better
  intial value than 0.

- we move when we measure the time.  We used to measure how much it
  took "before" we really sent the data.

- we introduce sleep_time concept.  While we are sleeping because we
  have sent all the allowed data for this second we shouldn't be
  accounting that time as "sending".

- last patch just introduces the re-calculation of expected_downtime.

It just changes the stats value.  Well, patchs 2 & 3 change the
bandwidth calculation for migration, but I think that we were
undercalculating it enough than it was a bug.

Without the 2 & 3 patches, the "expected_downtime" for an idle gust
was calculated as 80ms (with 30 ms default target value), and we ended
having a downtime of around 15ms.

With this patches applied, we calculate an expected downtime of around
15ms or so, and then we spent aroqund 18ms on downtime.  Notice that
we only calculate how much it takes to sent the rest of the RAM, it
just happens that there is some more data to sent that what we are calculating.

Review, please.

Later, Juan.

The following changes since commit 8a55ebf01507ab73cc458cfcd5b9cb856aba0b9e:

  Merge remote-tracking branch 'afaerber/qom-cpu' into staging (2013-01-31 19:37:33 -0600)

are available in the git repository at:

  git://repo.or.cz/qemu/quintela.git stats.next

for you to fetch changes up to 791128495e3546ccc88dd037ea4dfd31eca14a56:

  migration: calculate expected_downtime (2013-02-01 13:22:37 +0100)

Juan Quintela (4):
      migration: change initial value of expected_downtime
      migration: calculate end time after we have sent the data
      migration: don't account sleep time for calculating bandwidth
      migration: calculate expected_downtime

 arch_init.c                   |  1 +
 include/migration/migration.h |  1 +
 migration.c                   | 15 +++++++++++++--
 3 files changed, 15 insertions(+), 2 deletions(-)