> On Thu, Aug 13, 2015 at 01:25:29AM +0000, Li, Liang Z wrote: > > Hi Paolo & Marcelo, > > > > Could please point out what issue the patch 317b0a6d8ba44e try to fix? > > I > found in live migration the cpu_synchronize_all_states will be called twice, > and it will take more than 1 ms sometimes. I try to do some optimization but > lack the knowledge about the background. > > What the code in 317b0a6d8ba44e requires is to retrieve the TSC value from > the kernel.
I know 317b0a6d8ba44e is to retrieve the TSC value, but I don't understand why it is needed. During the live migration, the cpu_synchronize_all_states will be called later after stopping kvm-clock. The env->tsc will be updated, is that not enough? Or is there some case like call the 'stop_vm(RUN_STATE_PAUSED )' or ' 'stop_vm (RUN_STATE_DEBUG) ', that require updating the env->tsc? By google, I find that your patch try to fix some issue, but I don't know what the exact issue. Anyway, using cpu_synchronize_all_states to update the env->tsc is a littler expensive, especially in the stop can copy stage. Liang > Perhaps you can trace kvm_arch_get_regs and look why its taking that > amount of time and what can be done to improve it.