From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.4 required=3.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT, USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EE5E2C38A2A for ; Fri, 8 May 2020 20:37:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CB9F421775 for ; Fri, 8 May 2020 20:37:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="KmJ03/aH" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727798AbgEHUhE (ORCPT ); Fri, 8 May 2020 16:37:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49022 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1727119AbgEHUhD (ORCPT ); Fri, 8 May 2020 16:37:03 -0400 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8AF5FC05BD09 for ; Fri, 8 May 2020 13:37:03 -0700 (PDT) Received: by mail-yb1-xb4a.google.com with SMTP id e2so3483431ybm.19 for ; Fri, 08 May 2020 13:37:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=bDA1/4UWq3adzuN/eFYQ6blf4dCGtForBLd4rlJVQeQ=; b=KmJ03/aH3GNYNIjMppA4tkWIBFQOpt/I9LWla5xHPJOe2xUqR1mXebaYnz+u43orHd ksABti4aur9lE2CaeeXV8L5OZg+zbw4+Pr3N3D9U0nds/H5NByo/VAojx/Ht9BWz3txy FJ64rA0hKG1FZrjNap/oZHV1PBe9HaXotsbRb9JGfsqaXlgAt18YLnelLnPb58XhLc56 Ic8JR1pR97RwGgh1D8lC5FIyZBLjNQbDmB+bP0cfBMIGepQUhzhGPBScP84AR+X4+l/w FpLceRZiFmsM8+5RchzuneWNzLFCigbYk3ssVkK94VMdHel4f2aWS9/p0X2qZCgd4S+t o4uA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=bDA1/4UWq3adzuN/eFYQ6blf4dCGtForBLd4rlJVQeQ=; b=qEXKjZc/OO+BygQJkuaA4yMEwVPFXU4TeHVwgCVS2Lk/PlPQX7Cb8lAZUfhAI0s3Yw kVpQqw6as/A4D4ARfEEVCkNFZm4vegHJi2ekLEpwh2CwF+mpcS7AofACBt9Mx43yIT8f BX2smQigcarY3iDW2dUxB9WMlDhLP1gQo6tB+d/ypYx73KnzK9rae6MgPf4LJ1z5b5j2 sPAaC1rxBkmf8MsqUuStLHbc860y7P4UGK9tSMUmKB+S3kR058w8eMIb0XeaCE4Et3eQ mJubDCzN17jSaL3MQ5N/Jk7U8ZymyjE1MDcayp6qveoZz8c0yX6SZgvjsDwM7nQYK3Wv cF4w== X-Gm-Message-State: AGi0PuaHeIhpkyUEVibtX6JPeZrKh0Is+1tt2JK8JX9+OUzbzFsZgNgX 1SBiqxa+/URr80LUlzaw/6OzCFI0ZW09/WYEw8X+oP7btZgsxlF+69IVAFqwzOLY4FviL87222w iv98q2UZj47Pn6hCH/1MD+LOfjfPFgGhgkdAkVwFnC5K/4kVhHVaQLPddgms13cI= X-Google-Smtp-Source: APiQypLLKa9+gLSOiHY7sDhxzhx+tvo03jD6CV3zZ4lMk9RLpxYBNHJvvfIFNrQjcKigi5IfEsnBg1FBmzhNwg== X-Received: by 2002:a25:ce88:: with SMTP id x130mr1178224ybe.523.1588970222696; Fri, 08 May 2020 13:37:02 -0700 (PDT) Date: Fri, 8 May 2020 13:36:42 -0700 In-Reply-To: <20200508203643.85477-1-jmattson@google.com> Message-Id: <20200508203643.85477-3-jmattson@google.com> Mime-Version: 1.0 References: <20200508203643.85477-1-jmattson@google.com> X-Mailer: git-send-email 2.26.2.645.ge9eca65c58-goog Subject: [PATCH 2/3] KVM: nVMX: Change emulated VMX-preemption timer hrtimer to absolute From: Jim Mattson To: kvm@vger.kernel.org, Paolo Bonzini Cc: Jim Mattson , Peter Shier , Oliver Upton Content-Type: text/plain; charset="UTF-8" Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Prepare for migration of this hrtimer, by changing it from relative to absolute. (I couldn't get migration to work with a relative timer.) Signed-off-by: Jim Mattson Reviewed-by: Peter Shier Reviewed-by: Oliver Upton --- arch/x86/kvm/vmx/nested.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c index 1f7fe6f47cbc..3ca792e3cd66 100644 --- a/arch/x86/kvm/vmx/nested.c +++ b/arch/x86/kvm/vmx/nested.c @@ -2041,7 +2041,8 @@ static void vmx_start_preemption_timer(struct kvm_vcpu *vcpu) preemption_timeout *= 1000000; do_div(preemption_timeout, vcpu->arch.virtual_tsc_khz); hrtimer_start(&vmx->nested.preemption_timer, - ns_to_ktime(preemption_timeout), HRTIMER_MODE_REL_PINNED); + ktime_add_ns(ktime_get(), preemption_timeout), + HRTIMER_MODE_ABS_PINNED); } static u64 nested_vmx_calc_efer(struct vcpu_vmx *vmx, struct vmcs12 *vmcs12) @@ -4614,7 +4615,7 @@ static int enter_vmx_operation(struct kvm_vcpu *vcpu) goto out_shadow_vmcs; hrtimer_init(&vmx->nested.preemption_timer, CLOCK_MONOTONIC, - HRTIMER_MODE_REL_PINNED); + HRTIMER_MODE_ABS_PINNED); vmx->nested.preemption_timer.function = vmx_preemption_timer_fn; vmx->nested.vpid02 = allocate_vpid(); -- 2.26.2.645.ge9eca65c58-goog