From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934531AbcCPDzq (ORCPT ); Tue, 15 Mar 2016 23:55:46 -0400 Received: from mga02.intel.com ([134.134.136.20]:34097 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934445AbcCPDzn (ORCPT ); Tue, 15 Mar 2016 23:55:43 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,342,1455004800"; d="scan'208";a="911592479" Subject: Re: [PATCH 1/1] KVM: don't allow irq_fpu_usable when the VCPU's XCR0 is loaded To: Paolo Bonzini , Andy Lutomirski References: <1457729240-3846-1-git-send-email-dmatlack@google.com> <1457729240-3846-2-git-send-email-dmatlack@google.com> <56E6BA06.7000907@redhat.com> <56E86366.10403@redhat.com> Cc: David Matlack , "linux-kernel@vger.kernel.org" , X86 ML , kvm list , Ingo Molnar , Andrew Lutomirski , "H. Peter Anvin" , Eric Northup From: Xiao Guangrong Message-ID: <56E8D919.7080002@linux.intel.com> Date: Wed, 16 Mar 2016 11:55:05 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <56E86366.10403@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 03/16/2016 03:32 AM, Paolo Bonzini wrote: > > > On 15/03/2016 19:27, Andy Lutomirski wrote: >> On Mon, Mar 14, 2016 at 6:17 AM, Paolo Bonzini wrote: >>> >>> >>> On 11/03/2016 22:33, David Matlack wrote: >>>>> Is this better than just always keeping the host's XCR0 loaded outside >>>>> if the KVM interrupts-disabled region? >>>> >>>> Probably not. AFAICT KVM does not rely on it being loaded outside that >>>> region. xsetbv isn't insanely expensive, is it? Maybe to minimize the >>>> time spent with interrupts disabled it was put outside. >>>> >>>> I do like that your solution would be contained to KVM. >>> >>> I agree with Andy. We do want a fix for recent kernels because of the >>> !eager_fpu case that Guangrong mentioned. Relying on interrupt is not easy as XCR0 can not be automatically saved/loaded by VMCS... Once interrupt happens, it will use guest's XCR0 anyway.