kvmclock: add a new function to update env->tsc.
commit0fd7e098db30e302d27920487f0afec33be8982a
authorLiang Li <liang.z.li@intel.com>
Thu, 5 Nov 2015 03:51:03 +0000 (5 11:51 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 5 Nov 2015 10:28:10 +0000 (5 11:28 +0100)
tree87cfe5cc1dc319430ae507e6ecf76199b349e9b3
parentb553a0428014636bce4951098e97c60dc18a83ed
kvmclock: add a new function to update env->tsc.

The commit 317b0a6d8 fixed an issue which caused by the outdated
env->tsc value, but the fix lead to 'cpu_synchronize_all_states()'
called twice during live migration. The 'cpu_synchronize_all_states()'
takes about 130us for a VM which has 4 vcpus, it's a bit expensive.

Synchronize the whole CPU context just for updating env->tsc is too
wasting, this patch use a new function to update the env->tsc.
Comparing to 'cpu_synchronize_all_states()', it only takes about 20us.

Signed-off-by: Liang Li <liang.z.li@intel.com>
Message-Id: <1446695464-27116-2-git-send-email-liang.z.li@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/i386/kvm/clock.c
target-i386/kvm.c
target-i386/kvm_i386.h