Re: [Qemu-devel] [PATCH v2 0/4] i386/kvm: advertise Hyper-V frequency MSRs
On 07/08/2017 10:56, Ladi Prosek wrote: > This is the QEMU part of the changes required for nested Hyper-V to read > timestamps with RDTSC + TSC page. Without exposing the frequency MSRs, > Windows with the Hyper-V role enabled use the much slower > HV_X64_MSR_TIME_REF_COUNT (0x4020) RDMSR to read timestamps. > > The new registers are exposed only if the TSC frequency is stable across > migration and known, as suggested by Paolo. > > v1->v2: > * deleted an extra empty line in patch 1 > * added patch 3 introducing a helper function for the "TSC is stable and > known" check (David) > > Ladi Prosek (4): > i386/kvm: use a switch statement for MSR detection > i386/kvm: set tsc_khz before configuring Hyper-V CPUID > i386/kvm: introduce tsc_is_stable_and_known() > i386/kvm: advertise Hyper-V frequency MSRs > > target/i386/kvm.c | 138 > -- > 1 file changed, 71 insertions(+), 67 deletions(-) > Queued, thanks. Paolo
Re: [Qemu-devel] [PATCH v2 0/4] i386/kvm: advertise Hyper-V frequency MSRs
On Tue, Aug 08, 2017 at 09:50:53PM -0300, Marcelo Tosatti wrote: > On Mon, Aug 07, 2017 at 10:56:59AM +0200, Ladi Prosek wrote: > > This is the QEMU part of the changes required for nested Hyper-V to read > > timestamps with RDTSC + TSC page. Without exposing the frequency MSRs, > > Windows with the Hyper-V role enabled use the much slower > > HV_X64_MSR_TIME_REF_COUNT (0x4020) RDMSR to read timestamps. > > > > The new registers are exposed only if the TSC frequency is stable across > > migration and known, as suggested by Paolo. > > > > v1->v2: > > * deleted an extra empty line in patch 1 > > * added patch 3 introducing a helper function for the "TSC is stable and > > known" check (David) > > > > Ladi Prosek (4): > > i386/kvm: use a switch statement for MSR detection > > i386/kvm: set tsc_khz before configuring Hyper-V CPUID > > i386/kvm: introduce tsc_is_stable_and_known() > > i386/kvm: advertise Hyper-V frequency MSRs > > > > target/i386/kvm.c | 138 > > -- > > 1 file changed, 71 insertions(+), 67 deletions(-) > > > > -- > > 2.9.3 > > > Signed-off-by: Marcelo Tosatti Come again please? >
Re: [Qemu-devel] [PATCH v2 0/4] i386/kvm: advertise Hyper-V frequency MSRs
On Mon, Aug 07, 2017 at 10:56:59AM +0200, Ladi Prosek wrote: > This is the QEMU part of the changes required for nested Hyper-V to read > timestamps with RDTSC + TSC page. Without exposing the frequency MSRs, > Windows with the Hyper-V role enabled use the much slower > HV_X64_MSR_TIME_REF_COUNT (0x4020) RDMSR to read timestamps. > > The new registers are exposed only if the TSC frequency is stable across > migration and known, as suggested by Paolo. > > v1->v2: > * deleted an extra empty line in patch 1 > * added patch 3 introducing a helper function for the "TSC is stable and > known" check (David) > > Ladi Prosek (4): > i386/kvm: use a switch statement for MSR detection > i386/kvm: set tsc_khz before configuring Hyper-V CPUID > i386/kvm: introduce tsc_is_stable_and_known() > i386/kvm: advertise Hyper-V frequency MSRs > > target/i386/kvm.c | 138 > -- > 1 file changed, 71 insertions(+), 67 deletions(-) > > -- > 2.9.3 Signed-off-by: Marcelo Tosatti
[Qemu-devel] [PATCH v2 0/4] i386/kvm: advertise Hyper-V frequency MSRs
This is the QEMU part of the changes required for nested Hyper-V to read timestamps with RDTSC + TSC page. Without exposing the frequency MSRs, Windows with the Hyper-V role enabled use the much slower HV_X64_MSR_TIME_REF_COUNT (0x4020) RDMSR to read timestamps. The new registers are exposed only if the TSC frequency is stable across migration and known, as suggested by Paolo. v1->v2: * deleted an extra empty line in patch 1 * added patch 3 introducing a helper function for the "TSC is stable and known" check (David) Ladi Prosek (4): i386/kvm: use a switch statement for MSR detection i386/kvm: set tsc_khz before configuring Hyper-V CPUID i386/kvm: introduce tsc_is_stable_and_known() i386/kvm: advertise Hyper-V frequency MSRs target/i386/kvm.c | 138 -- 1 file changed, 71 insertions(+), 67 deletions(-) -- 2.9.3