lkml.org 
[lkml]   [2021]   [Oct]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    Subject[PATCH v2 16/43] KVM: Don't redo ktime_get() when calculating halt-polling stop/deadline
    From
    Calculate the halt-polling "stop" time using "cur" instead of redoing
    ktime_get(). In the happy case where hardware correctly predicts
    do_halt_poll, "cur" is only a few cycles old. And if the branch is
    mispredicted, arguably that extra latency should count toward the
    halt-polling time.

    In all likelihood, the numbers involved are in the noise and either
    approach is perfectly ok.

    Reviewed-by: David Matlack <dmatlack@google.com>
    Signed-off-by: Sean Christopherson <seanjc@google.com>
    ---
    virt/kvm/kvm_main.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
    index a36ccdc93a72..481e8178b43d 100644
    --- a/virt/kvm/kvm_main.c
    +++ b/virt/kvm/kvm_main.c
    @@ -3272,7 +3272,7 @@ void kvm_vcpu_halt(struct kvm_vcpu *vcpu)

    start = cur = poll_end = ktime_get();
    if (do_halt_poll) {
    - ktime_t stop = ktime_add_ns(ktime_get(), vcpu->halt_poll_ns);
    + ktime_t stop = ktime_add_ns(cur, vcpu->halt_poll_ns);

    do {
    /*
    --
    2.33.0.882.g93a45727a2-goog
    \
     
     \ /
      Last update: 2021-10-09 04:14    [W:2.376 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site