From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754510AbcFPVx6 (ORCPT ); Thu, 16 Jun 2016 17:53:58 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45743 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753256AbcFPVx5 (ORCPT ); Thu, 16 Jun 2016 17:53:57 -0400 From: Bandan Das To: Paolo Bonzini Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org, rkrcmar@redhat.com Subject: Re: [RFC PATCH 1/2] KVM: x86: always use "acknowledge interrupt on exit" References: <1466065297-4644-1-git-send-email-pbonzini@redhat.com> <1466065297-4644-2-git-send-email-pbonzini@redhat.com> Date: Thu, 16 Jun 2016 17:53:55 -0400 In-Reply-To: <1466065297-4644-2-git-send-email-pbonzini@redhat.com> (Paolo Bonzini's message of "Thu, 16 Jun 2016 10:21:36 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Thu, 16 Jun 2016 21:53:57 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Paolo Bonzini writes: > This is necessary to simplify handle_external_intr in the next patch. > It means that nested KVM will require 3.16 on the host (or 3.17 if you > have APICv enabled). > > Signed-off-by: Paolo Bonzini > --- > arch/x86/kvm/vmx.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > index e185649fb8b7..4e9657730bf6 100644 > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -3362,12 +3362,12 @@ static __init int setup_vmcs_config(struct vmcs_config *vmcs_conf) > vmx_capability.ept, vmx_capability.vpid); > } > > - min = VM_EXIT_SAVE_DEBUG_CONTROLS; > + min = VM_EXIT_SAVE_DEBUG_CONTROLS | VM_EXIT_ACK_INTR_ON_EXIT; > #ifdef CONFIG_X86_64 > min |= VM_EXIT_HOST_ADDR_SPACE_SIZE; > #endif > opt = VM_EXIT_SAVE_IA32_PAT | VM_EXIT_LOAD_IA32_PAT | > - VM_EXIT_ACK_INTR_ON_EXIT | VM_EXIT_CLEAR_BNDCFGS; > + VM_EXIT_CLEAR_BNDCFGS; > if (adjust_vmx_controls(min, opt, MSR_IA32_VMX_EXIT_CTLS, > &_vmexit_control) < 0) > return -EIO; Even if it breaks, this will complain quite loudly for the user to upgrade. Maybe, a ack_intr specific message would be more direct (since that is the one we are breaking) but imo it's fine either way. Bandan > @@ -3380,8 +3380,7 @@ static __init int setup_vmcs_config(struct vmcs_config *vmcs_conf) > return -EIO; > > if (!(_cpu_based_2nd_exec_control & > - SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY) || > - !(_vmexit_control & VM_EXIT_ACK_INTR_ON_EXIT)) > + SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY)) > _pin_based_exec_control &= ~PIN_BASED_POSTED_INTR; > > min = VM_ENTRY_LOAD_DEBUG_CONTROLS;