lkml.org 
[lkml]   [2021]   [Jul]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject答复: 答复: [PATCH] KVM: Consider SMT idl e status when halt polling
Date


> -----邮件原件-----
> 发件人: Sean Christopherson <seanjc@google.com>
> 发送时间: 2021年7月27日 9:26
> 收件人: Li,Rongqing <lirongqing@baidu.com>
> 抄送: Wanpeng Li <kernellwp@gmail.com>; Paolo Bonzini
> <pbonzini@redhat.com>; Ingo Molnar <mingo@redhat.com>; Peter Zijlstra
> <peterz@infradead.org>; kvm <kvm@vger.kernel.org>; LKML
> <linux-kernel@vger.kernel.org>
> 主题: 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));
> }
>

\
 
 \ /
  Last update: 2021-07-27 08:40    [W:0.047 / U:0.084 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site