* [PATCH v2 1/2] KVM: LAPIC: Return 0 when getting the tscdeadline timer if the lapic is hw disabled
@ 2020-08-12 6:30 Wanpeng Li
2020-08-12 6:30 ` [PATCH v2 2/2] KVM: LAPIC: Guarantee the timer is in tsc-deadline mode when setting Wanpeng Li
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Wanpeng Li @ 2020-08-12 6:30 UTC (permalink / raw)
To: linux-kernel, kvm
Cc: Paolo Bonzini, Sean Christopherson, Vitaly Kuznetsov, Wanpeng Li,
Jim Mattson, Joerg Roedel
From: Wanpeng Li <wanpengli@tencent.com>
Return 0 when getting the tscdeadline timer if the lapic is hw disabled.
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
---
v1 -> v2:
* fix indentation
arch/x86/kvm/lapic.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index 5ccbee7..79599af 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -2183,8 +2183,7 @@ u64 kvm_get_lapic_tscdeadline_msr(struct kvm_vcpu *vcpu)
{
struct kvm_lapic *apic = vcpu->arch.apic;
- if (!lapic_in_kernel(vcpu) ||
- !apic_lvtt_tscdeadline(apic))
+ if (!kvm_apic_present(vcpu) || !apic_lvtt_tscdeadline(apic))
return 0;
return apic->lapic_timer.tscdeadline;
--
2.7.4
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH v2 2/2] KVM: LAPIC: Guarantee the timer is in tsc-deadline mode when setting 2020-08-12 6:30 [PATCH v2 1/2] KVM: LAPIC: Return 0 when getting the tscdeadline timer if the lapic is hw disabled Wanpeng Li @ 2020-08-12 6:30 ` Wanpeng Li 2020-08-13 14:58 ` Sean Christopherson ` (2 more replies) 2020-08-13 14:57 ` [PATCH v2 1/2] KVM: LAPIC: Return 0 when getting the tscdeadline timer if the lapic is hw disabled Sean Christopherson 2020-08-25 0:57 ` Sean Christopherson 2 siblings, 3 replies; 7+ messages in thread From: Wanpeng Li @ 2020-08-12 6:30 UTC (permalink / raw) To: linux-kernel, kvm Cc: Paolo Bonzini, Sean Christopherson, Vitaly Kuznetsov, Wanpeng Li, Jim Mattson, Joerg Roedel From: Wanpeng Li <wanpengli@tencent.com> Check apic_lvtt_tscdeadline() mode directly instead of apic_lvtt_oneshot() and apic_lvtt_period() to guarantee the timer is in tsc-deadline mode when wrmsr MSR_IA32_TSCDEADLINE. Signed-off-by: Wanpeng Li <wanpengli@tencent.com> --- v1 -> v2: * fix indentation arch/x86/kvm/lapic.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index 79599af..abaf48e 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c @@ -2193,8 +2193,7 @@ void kvm_set_lapic_tscdeadline_msr(struct kvm_vcpu *vcpu, u64 data) { struct kvm_lapic *apic = vcpu->arch.apic; - if (!kvm_apic_present(vcpu) || apic_lvtt_oneshot(apic) || - apic_lvtt_period(apic)) + if (!kvm_apic_present(vcpu) || !apic_lvtt_tscdeadline(apic)) return; hrtimer_cancel(&apic->lapic_timer.timer); -- 2.7.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] KVM: LAPIC: Guarantee the timer is in tsc-deadline mode when setting 2020-08-12 6:30 ` [PATCH v2 2/2] KVM: LAPIC: Guarantee the timer is in tsc-deadline mode when setting Wanpeng Li @ 2020-08-13 14:58 ` Sean Christopherson 2020-08-24 1:04 ` Wanpeng Li 2020-08-25 0:58 ` Sean Christopherson 2 siblings, 0 replies; 7+ messages in thread From: Sean Christopherson @ 2020-08-13 14:58 UTC (permalink / raw) To: Wanpeng Li Cc: linux-kernel, kvm, Paolo Bonzini, Vitaly Kuznetsov, Wanpeng Li, Jim Mattson, Joerg Roedel On Wed, Aug 12, 2020 at 02:30:38PM +0800, Wanpeng Li wrote: > From: Wanpeng Li <wanpengli@tencent.com> > > Check apic_lvtt_tscdeadline() mode directly instead of apic_lvtt_oneshot() > and apic_lvtt_period() to guarantee the timer is in tsc-deadline mode when > wrmsr MSR_IA32_TSCDEADLINE. > > Signed-off-by: Wanpeng Li <wanpengli@tencent.com> Gah, I take back my comment about squashing these, I assumed this was the same fix but just in the write path. Reviewed-by: Sean Christopherson <sean.j.christopherson@intel.com> > --- > v1 -> v2: > * fix indentation > > arch/x86/kvm/lapic.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c > index 79599af..abaf48e 100644 > --- a/arch/x86/kvm/lapic.c > +++ b/arch/x86/kvm/lapic.c > @@ -2193,8 +2193,7 @@ void kvm_set_lapic_tscdeadline_msr(struct kvm_vcpu *vcpu, u64 data) > { > struct kvm_lapic *apic = vcpu->arch.apic; > > - if (!kvm_apic_present(vcpu) || apic_lvtt_oneshot(apic) || > - apic_lvtt_period(apic)) > + if (!kvm_apic_present(vcpu) || !apic_lvtt_tscdeadline(apic)) > return; > > hrtimer_cancel(&apic->lapic_timer.timer); > -- > 2.7.4 > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] KVM: LAPIC: Guarantee the timer is in tsc-deadline mode when setting 2020-08-12 6:30 ` [PATCH v2 2/2] KVM: LAPIC: Guarantee the timer is in tsc-deadline mode when setting Wanpeng Li 2020-08-13 14:58 ` Sean Christopherson @ 2020-08-24 1:04 ` Wanpeng Li 2020-08-25 0:58 ` Sean Christopherson 2 siblings, 0 replies; 7+ messages in thread From: Wanpeng Li @ 2020-08-24 1:04 UTC (permalink / raw) To: LKML, kvm Cc: Paolo Bonzini, Sean Christopherson, Vitaly Kuznetsov, Wanpeng Li, Jim Mattson, Joerg Roedel ping :) On Wed, 12 Aug 2020 at 14:30, Wanpeng Li <kernellwp@gmail.com> wrote: > > From: Wanpeng Li <wanpengli@tencent.com> > > Check apic_lvtt_tscdeadline() mode directly instead of apic_lvtt_oneshot() > and apic_lvtt_period() to guarantee the timer is in tsc-deadline mode when > wrmsr MSR_IA32_TSCDEADLINE. > > Signed-off-by: Wanpeng Li <wanpengli@tencent.com> > --- > v1 -> v2: > * fix indentation > > arch/x86/kvm/lapic.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c > index 79599af..abaf48e 100644 > --- a/arch/x86/kvm/lapic.c > +++ b/arch/x86/kvm/lapic.c > @@ -2193,8 +2193,7 @@ void kvm_set_lapic_tscdeadline_msr(struct kvm_vcpu *vcpu, u64 data) > { > struct kvm_lapic *apic = vcpu->arch.apic; > > - if (!kvm_apic_present(vcpu) || apic_lvtt_oneshot(apic) || > - apic_lvtt_period(apic)) > + if (!kvm_apic_present(vcpu) || !apic_lvtt_tscdeadline(apic)) > return; > > hrtimer_cancel(&apic->lapic_timer.timer); > -- > 2.7.4 > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] KVM: LAPIC: Guarantee the timer is in tsc-deadline mode when setting 2020-08-12 6:30 ` [PATCH v2 2/2] KVM: LAPIC: Guarantee the timer is in tsc-deadline mode when setting Wanpeng Li 2020-08-13 14:58 ` Sean Christopherson 2020-08-24 1:04 ` Wanpeng Li @ 2020-08-25 0:58 ` Sean Christopherson 2 siblings, 0 replies; 7+ messages in thread From: Sean Christopherson @ 2020-08-25 0:58 UTC (permalink / raw) To: Wanpeng Li Cc: linux-kernel, kvm, Paolo Bonzini, Vitaly Kuznetsov, Wanpeng Li, Jim Mattson, Joerg Roedel On Wed, Aug 12, 2020 at 02:30:38PM +0800, Wanpeng Li wrote: > From: Wanpeng Li <wanpengli@tencent.com> > > Check apic_lvtt_tscdeadline() mode directly instead of apic_lvtt_oneshot() > and apic_lvtt_period() to guarantee the timer is in tsc-deadline mode when > wrmsr MSR_IA32_TSCDEADLINE. > > Signed-off-by: Wanpeng Li <wanpengli@tencent.com> > --- Reviewed-by: Sean Christopherson <sean.j.christopherson@intel.com> ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] KVM: LAPIC: Return 0 when getting the tscdeadline timer if the lapic is hw disabled 2020-08-12 6:30 [PATCH v2 1/2] KVM: LAPIC: Return 0 when getting the tscdeadline timer if the lapic is hw disabled Wanpeng Li 2020-08-12 6:30 ` [PATCH v2 2/2] KVM: LAPIC: Guarantee the timer is in tsc-deadline mode when setting Wanpeng Li @ 2020-08-13 14:57 ` Sean Christopherson 2020-08-25 0:57 ` Sean Christopherson 2 siblings, 0 replies; 7+ messages in thread From: Sean Christopherson @ 2020-08-13 14:57 UTC (permalink / raw) To: Wanpeng Li Cc: linux-kernel, kvm, Paolo Bonzini, Vitaly Kuznetsov, Wanpeng Li, Jim Mattson, Joerg Roedel On Wed, Aug 12, 2020 at 02:30:37PM +0800, Wanpeng Li wrote: > From: Wanpeng Li <wanpengli@tencent.com> > > Return 0 when getting the tscdeadline timer if the lapic is hw disabled. It'd be helpful to reference the SDM for the general behavior of the MSR. In other timer modes (LVT bit 18 = 0), the IA32_TSC_DEADLINE MSR reads zero and writes are ignored. I'd also vote to squash the two patches together, they really are paired changes to match the architectural behavior. Reviewed-by: Sean Christopherson <sean.j.christopherson@intel.com> ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] KVM: LAPIC: Return 0 when getting the tscdeadline timer if the lapic is hw disabled 2020-08-12 6:30 [PATCH v2 1/2] KVM: LAPIC: Return 0 when getting the tscdeadline timer if the lapic is hw disabled Wanpeng Li 2020-08-12 6:30 ` [PATCH v2 2/2] KVM: LAPIC: Guarantee the timer is in tsc-deadline mode when setting Wanpeng Li 2020-08-13 14:57 ` [PATCH v2 1/2] KVM: LAPIC: Return 0 when getting the tscdeadline timer if the lapic is hw disabled Sean Christopherson @ 2020-08-25 0:57 ` Sean Christopherson 2 siblings, 0 replies; 7+ messages in thread From: Sean Christopherson @ 2020-08-25 0:57 UTC (permalink / raw) To: Wanpeng Li Cc: linux-kernel, kvm, Paolo Bonzini, Vitaly Kuznetsov, Wanpeng Li, Jim Mattson, Joerg Roedel On Wed, Aug 12, 2020 at 02:30:37PM +0800, Wanpeng Li wrote: > From: Wanpeng Li <wanpengli@tencent.com> > > Return 0 when getting the tscdeadline timer if the lapic is hw disabled. > > Suggested-by: Paolo Bonzini <pbonzini@redhat.com> > Signed-off-by: Wanpeng Li <wanpengli@tencent.com> > --- Reviewed-by: Sean Christopherson <sean.j.christopherson@intel.com> ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2020-08-25 0:58 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-08-12 6:30 [PATCH v2 1/2] KVM: LAPIC: Return 0 when getting the tscdeadline timer if the lapic is hw disabled Wanpeng Li 2020-08-12 6:30 ` [PATCH v2 2/2] KVM: LAPIC: Guarantee the timer is in tsc-deadline mode when setting Wanpeng Li 2020-08-13 14:58 ` Sean Christopherson 2020-08-24 1:04 ` Wanpeng Li 2020-08-25 0:58 ` Sean Christopherson 2020-08-13 14:57 ` [PATCH v2 1/2] KVM: LAPIC: Return 0 when getting the tscdeadline timer if the lapic is hw disabled Sean Christopherson 2020-08-25 0:57 ` Sean Christopherson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox