Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp4606344ybz; Tue, 28 Apr 2020 14:42:04 -0700 (PDT) X-Google-Smtp-Source: APiQypLa6Ivd/P/u38bXxHzTnA6rtGhC6lKp2UHCIXhNiSRjFZGy9mYS8aPKchOY95+AUgloUvWk X-Received: by 2002:a17:906:f90d:: with SMTP id lc13mr3057633ejb.367.1588110124744; Tue, 28 Apr 2020 14:42:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588110124; cv=none; d=google.com; s=arc-20160816; b=dOSFEpzFGgn7WBgQLGr8tDuCzPWU08Qld+A/oDrbXsIqG6iI0NHg/dzk34mQJ1L9iu Yac2zH2/PKQFVNcGwyzRJhMShjZyQozs+pRb+k8WAnHsW5ToMcQM/XOPzcjFB9I8QcmT VJ/WkMjQI3jgwEP4bKQX8szkvlgUGW+eWdHxxMcSR8yKer2YtwLE0l+VNHe2bjVyfAP1 AGRALOhn90rnmX3pkU14nkxmnBdCWjG523M7SuWBAQfrKE6QdYKI35BFL5lS0bLt2XuR 5f9hOsk4KunIEXAQbgsUm1L7aqaJS6mbFO1MApH6OmG4HARI47vswDAKV45rZ5Z4Ocib Yu9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=ul4JdnqYIuUZ+XRuxCZf3WpJHQHQUt+RKURin2OvTJE=; b=PZda1NJt38AiARDRr/ZHN4enUP1FiwkUsW3pIKcn7zKQPuVq94h5CC/ZO9d97gajOC 5WmE/rupl3e2rTMwJCVsjmvEttLzND4CZzzlMVChDHZ0GAT39G6Vx07ut8XtMRalmdOj vv4smvPxrJu0PkFRlWZPl1lDfcnDAIfS2qZLfBjM3g/s48ofmvGMgWLW1dpKAPZa+Zqj xyXLyQbleZ+wzx1UPgnJNajX2cHJ9HmZBbSlXMMSyesLgT1IXiotgzYWJTNdOhMzAfVs zT/xkJjvSL7oJg8P14usmieUfHbt+zBfh2O/LwxBG1lAKdBeFpjJH+UmRHTLnk84HXM8 6nHw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=o2z8EurV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x14si2098699ede.22.2020.04.28.14.41.19; Tue, 28 Apr 2020 14:42:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=o2z8EurV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726272AbgD1Vjp (ORCPT + 99 others); Tue, 28 Apr 2020 17:39:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45108 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1726256AbgD1Vjo (ORCPT ); Tue, 28 Apr 2020 17:39:44 -0400 Received: from mail-io1-xd43.google.com (mail-io1-xd43.google.com [IPv6:2607:f8b0:4864:20::d43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 941BBC03C1AC for ; Tue, 28 Apr 2020 14:39:44 -0700 (PDT) Received: by mail-io1-xd43.google.com with SMTP id f3so25055693ioj.1 for ; Tue, 28 Apr 2020 14:39:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ul4JdnqYIuUZ+XRuxCZf3WpJHQHQUt+RKURin2OvTJE=; b=o2z8EurVpT/nTBtFhpV3btr1ad2aGZqWHCjoLb+NSKVxUolYCI2pV/P7JsCPKcFWer cA/JKLDr1YnNYBkindhrydkNLhaLmnVkdmXlvcopD8PYFkfBWOBN6FhqXTjQwvZ8TvUD cLlXiGnb0VlxyQPqDpU0VyaCjV9zyYBEOZTRrjwGXw65UalAr3fn4OBD04jObMVnbxMH ndppohSLJ9Iln0cDOKrtTY24X9LTp7/CyG0YP/fhRFXj24PhpDCn2PcUpsUD+SdVinjT tzAJbACUxDWlH/CZIPjCd4f7pNUeeHvv4xd6UGBMLvAlBkzyhHCp6PaS5LLW4pI6mEHj 3u1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ul4JdnqYIuUZ+XRuxCZf3WpJHQHQUt+RKURin2OvTJE=; b=VtuarTLxvpS047ivh3z+V6Lah32iMGNGyjxyJU/vy90xu55LwgSwCSsVMLqDPs7NeH IsDHU8xHTiy3N5JH1bqSY34X9AumwIOkJ7DfpT7xKcPkCqUgwJkJ5njRHAPa3q3NzG5c puTIdZKSaPWghzHvDZlzOOB8crW4v75Egsq6/Daog6KpIAmAyzI9xk0dEUmoNjj7DVYC sR/c64qa9HTLNOHgN6ddNVJyZLx18eTTkBLszUWisOG3vjxvnyA6MuLoF9Cl4mhBOqca BcApOMAjpY7+AibN2uVsdDM4jFUb/JK1jpBYXMw697vdiJwtWuDeCxZqjMcR4UvvQYss c8ow== X-Gm-Message-State: AGi0PuYjrSP3qkt6dYGzba6VNHkHFVNIhSwaTlPSM7D6tmASl76ewtWO DhlIP5v35DtBAtHsHZPR90cpm9e3p27OUABSo6ghtw== X-Received: by 2002:a6b:c910:: with SMTP id z16mr27919357iof.164.1588109983668; Tue, 28 Apr 2020 14:39:43 -0700 (PDT) MIME-Version: 1.0 References: <20200423022550.15113-1-sean.j.christopherson@intel.com> <20200423022550.15113-3-sean.j.christopherson@intel.com> In-Reply-To: <20200423022550.15113-3-sean.j.christopherson@intel.com> From: Jim Mattson Date: Tue, 28 Apr 2020 14:39:32 -0700 Message-ID: Subject: Re: [PATCH 02/13] KVM: nVMX: Open a window for pending nested VMX preemption timer To: Sean Christopherson Cc: Paolo Bonzini , Vitaly Kuznetsov , Wanpeng Li , Joerg Roedel , kvm list , LKML , Oliver Upton , Peter Shier Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 22, 2020 at 7:26 PM Sean Christopherson wrote: > > Add a kvm_x86_ops hook to detect a nested pending "hypervisor timer" and > use it to effectively open a window for servicing the expired timer. > Like pending SMIs on VMX, opening a window simply means requesting an > immediate exit. > > This fixes a bug where an expired VMX preemption timer (for L2) will be > delayed and/or lost if a pending exception is injected into L2. The > pending exception is rightly prioritized by vmx_check_nested_events() > and injected into L2, with the preemption timer left pending. Because > no window opened, L2 is free to run uninterrupted. > > Fixes: f4124500c2c13 ("KVM: nVMX: Fully emulate preemption timer") > Reported-by: Jim Mattson > Cc: Oliver Upton > Cc: Peter Shier > Signed-off-by: Sean Christopherson Reviewed-by: Jim Mattson