From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1761903AbcINMDe (ORCPT ); Wed, 14 Sep 2016 08:03:34 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60680 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1760911AbcINMD3 (ORCPT ); Wed, 14 Sep 2016 08:03:29 -0400 Date: Wed, 14 Sep 2016 14:03:25 +0200 From: Radim =?utf-8?B?S3LEjW3DocWZ?= To: Paolo Bonzini Cc: Wanpeng Li , linux-kernel@vger.kernel.org, kvm@vger.kernel.org, Wanpeng Li , Wincy Van , Yang Zhang Subject: Re: [PATCH] KVM: VMX: Enable MSR-BASED TPR shadow even if w/o APICv Message-ID: <20160914120325.GG15680@potion> References: <1473839936-3393-1-git-send-email-wanpeng.li@hotmail.com> <9c0023da-be74-2fc2-0fd9-6bdfb62862b3@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9c0023da-be74-2fc2-0fd9-6bdfb62862b3@redhat.com> X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Wed, 14 Sep 2016 12:03:29 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 2016-09-14 11:40+0200, Paolo Bonzini: > On 14/09/2016 09:58, Wanpeng Li wrote: >> From: Wanpeng Li >> >> I observed that kvmvapic(to optimize flexpriority=N or AMD) is used >> to boost TPR access when testing kvm-unit-test/eventinj.flat tpr case >> on my haswell desktop (w/ flexpriority, w/o APICv). Commit (8d14695f9542 >> x86, apicv: add virtual x2apic support) disable virtual x2apic mode >> completely if w/o APICv, and the author also told me that windows guest >> can't enter into x2apic mode when he developed the APICv feature several >> years ago. However, it is not truth currently, Interrupt Remapping and >> vIOMMU is added to qemu and the developers from Intel test windows 8 can >> work in x2apic mode w/ Interrupt Remapping enabled recently. >> >> This patch enables TPR shadow for virtual x2apic mode to boost >> windows guest in x2apic mode even if w/o APICv. >> >> Can pass the kvm-unit-test. > > Ok, now I see what you meant; this actually makes sense. I don't expect > much speedup though, because Linux doesn't touch the TPR and Windows is > likely going to use the Hyper-V APIC MSRs when APICv is disabled. For > this reason I'm not sure if the patch is useful in practice. I agree with Paolo on the use case -- what configurations benefit from this change? > To test this patch, you have to run kvm-unit-tests with Hyper-V > synthetic interrupt enabled. Did you do this? The patch is buggy. MSR bitmaps are global and we'd have a CVE if one guests used synic (=> disabled apicv) and one didn't. You'd want a new set of bitmaps and assign them in vmx_set_msr_bitmap() (or completely rewrite our management).