Received: by 2002:a25:86ce:0:0:0:0:0 with SMTP id y14csp5149ybm; Mon, 20 May 2019 10:51:49 -0700 (PDT) X-Google-Smtp-Source: APXvYqxMuCwJL5U7Z8hLzcrQLto7BH3aMPWU9XUkia8WdwlIVckmCKRx+hHldDxO/7zcMqRjRPP0 X-Received: by 2002:a65:430a:: with SMTP id j10mr30916119pgq.133.1558374708956; Mon, 20 May 2019 10:51:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558374708; cv=none; d=google.com; s=arc-20160816; b=0//lfB9jyywib39ReRV07s5uKWp8sxuonAdiB+mflmCs7+/Ig2m9s6T/MhMrDJSaxO SzXvE8cav6gEHMSV1wPgwXCIh2xLIx4XGedrqeAWCDgSQn2TSGFOfXexRg6k6VeOhd9s SB2v23RfSSo3BxRXbhJn1NHeHWaK8qFzoYbLNQNs+q7lwYQMiRyJODd5P54saqI/Q8mM XtSUf/XCqgJDl/0VnN/Pqm62NeyuaDogq9H2JfGGfnOdspVpHrLd2hoYGfsOSgCTrAad VQsSr+oLIgJjKkoIqa2dMzWT372gRSEKFBtOIXozOk18g03esS3RbVzYC3vkXNusG721 hBSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=U8FFt94g/GoP4CwiEm0LHRG8Gd1Sv9V/GKEKdrYpuco=; b=Uc2kHic3TnXy80V30in4gfHjB7ntl4EA77687e4Eo8xQRq6aA6IaCfKl7mHbrl2849 MmSeYgC6mKoD1FG+bFh1YO0w/KLvjNDVGbkWt3nHqegZgc/H6VhnKhAajvvXnH6T0rIz g1DymAlBApgSZBx477uEZzkEs5IpOgiV2JEoIqvA5r7CPsLmAzYU3hr3gFSDgYDWf8Xl bchxIPxpLkM/67POuhNljM0Kqm7cvc8NmyC41hfl8QwJECoN1fGFep6H/K6LJiOO9OMu idh1OQ8sQhuiFvQ5D80xMU9gX+4Em5rD/EHAvdqWh4R3/h0CMMuFFQ1Zav2KrQX+cMSa 31cA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=EAdqDXEz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f7si19497308plm.427.2019.05.20.10.51.34; Mon, 20 May 2019 10:51:48 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=EAdqDXEz; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391235AbfETMgN (ORCPT + 99 others); Mon, 20 May 2019 08:36:13 -0400 Received: from mail.kernel.org ([198.145.29.99]:55176 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2391078AbfETMgK (ORCPT ); Mon, 20 May 2019 08:36:10 -0400 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id EC7DC21721; Mon, 20 May 2019 12:36:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1558355770; bh=awA+Wv5nCbFiijRTlWSxq+pxtJHd9RM2npntWANCrqI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=EAdqDXEzjceu0Ld5dEOc/RHNHjQkXUPfcxjnr3Bk4sBDQeoTG7PqWL9RK4pw7Hg3f /OVrXaOwr82HjsiwVqjqoKe5EpxCf5atkbaJrsH9nalUONGYy3kU3P8nROo5ipwNwR iveoX+cUO53jF1KLKfLq2dXHm1yKjcCwbOvM2+Bc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Wanpeng Li , Liran Alon , Sean Christopherson , Paolo Bonzini Subject: [PATCH 5.1 118/128] KVM: lapic: Busy wait for timer to expire when using hv_timer Date: Mon, 20 May 2019 14:15:05 +0200 Message-Id: <20190520115256.717288883@linuxfoundation.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190520115249.449077487@linuxfoundation.org> References: <20190520115249.449077487@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sean Christopherson commit ee66e453db13d4837a0dcf9d43efa7a88603161b upstream. ...now that VMX's preemption timer, i.e. the hv_timer, also adjusts its programmed time based on lapic_timer_advance_ns. Without the delay, a guest can see a timer interrupt arrive before the requested time when KVM is using the hv_timer to emulate the guest's interrupt. Fixes: c5ce8235cffa0 ("KVM: VMX: Optimize tscdeadline timer latency") Cc: Cc: Wanpeng Li Reviewed-by: Liran Alon Signed-off-by: Sean Christopherson Signed-off-by: Paolo Bonzini Signed-off-by: Greg Kroah-Hartman --- arch/x86/kvm/lapic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c @@ -1454,7 +1454,7 @@ static void apic_timer_expired(struct kv if (swait_active(q)) swake_up_one(q); - if (apic_lvtt_tscdeadline(apic)) + if (apic_lvtt_tscdeadline(apic) || ktimer->hv_timer_in_use) ktimer->expired_tscdeadline = ktimer->tscdeadline; }