答复: 答复: [PATCH] KVM: Consider SMT idle status when halt polling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----邮件原件-----
> 发件人: Sean Christopherson <seanjc@xxxxxxxxxx>
> 发送时间: 2021年7月27日 9:26
> 收件人: Li,Rongqing <lirongqing@xxxxxxxxx>
> 抄送: Wanpeng Li <kernellwp@xxxxxxxxx>; Paolo Bonzini
> <pbonzini@xxxxxxxxxx>; Ingo Molnar <mingo@xxxxxxxxxx>; Peter Zijlstra
> <peterz@xxxxxxxxxxxxx>; kvm <kvm@xxxxxxxxxxxxxxx>; LKML
> <linux-kernel@xxxxxxxxxxxxxxx>
> 主题: Re: 答复: [PATCH] KVM: Consider SMT idle status when halt polling
> 
> Rather than disallowing halt-polling entirely, on x86 it should be sufficient to
> simply have the hardware thread yield to its sibling(s) via PAUSE.  It probably
> won't get back all performance, but I would expect it to be close.
> 
> This compiles on all KVM architectures, and AFAICT the intended usage of
> cpu_relax() is identical for all architectures.
> 

Reasonable, thanks, I will resend it

-Li


> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index
> 6980dabe9df5..a07ecb3c67fb 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -3111,6 +3111,7 @@ void kvm_vcpu_block(struct kvm_vcpu *vcpu)
>                                 goto out;
>                         }
>                         poll_end = cur = ktime_get();
> +                       cpu_relax();
>                 } while (kvm_vcpu_can_poll(cur, stop));
>         }
> 





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux