[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4a6aaa8a-c62c-5f7c-da3e-14a68a835487@redhat.com>
Date: Tue, 22 Sep 2020 15:38:24 +0200
From: Paolo Bonzini <pbonzini@...hat.com>
To: Sean Christopherson <sean.j.christopherson@...el.com>
Cc: Vitaly Kuznetsov <vkuznets@...hat.com>,
Wanpeng Li <wanpengli@...cent.com>,
Jim Mattson <jmattson@...gle.com>,
Joerg Roedel <joro@...tes.org>, kvm@...r.kernel.org,
linux-kernel@...r.kernel.org, Josh Poimboeuf <jpoimboe@...hat.com>,
Uros Bizjak <ubizjak@...il.com>,
Andi Kleen <ak@...ux.intel.com>
Subject: Re: [PATCH v2 0/2] KVM: VMX: Clean up IRQ/NMI handling
On 15/09/20 21:15, Sean Christopherson wrote:
> Clean up KVM's handling of IRQ and NMI exits to move the invocation of the
> IRQ handler to a standalone assembly routine, and to then consolidate the
> NMI handling to use the same indirect call approach instead of using INTn.
>
> The IRQ cleanup was suggested by Josh Poimboeuf in the context of a false
> postive objtool warning[*]. I believe Josh intended to use UNWIND hints
> instead of trickery to avoid objtool complaints. I opted for trickery in
> the form of a redundant, but explicit, restoration of RSP after the hidden
> IRET. AFAICT, there are no existing UNWIND hints that would let objtool
> know that the stack is magically being restored, and adding a new hint to
> save a single MOV <reg>, <reg> instruction seemed like overkill.
>
> The NMI consolidation was loosely suggested by Andi Kleen. Andi's actual
> suggestion was to export and directly call the NMI handler, but that's a
> more involved change (unless I'm misunderstanding the wants of the NMI
> handler), whereas piggybacking the IRQ code is simple and seems like a
> worthwhile intermediate step.
>
> Sean Christopherson (2):
> KVM: VMX: Move IRQ invocation to assembly subroutine
> KVM: VMX: Invoke NMI handler via indirect call instead of INTn
>
> arch/x86/kvm/vmx/vmenter.S | 34 +++++++++++++++++++++
> arch/x86/kvm/vmx/vmx.c | 61 +++++++++++---------------------------
> 2 files changed, 51 insertions(+), 44 deletions(-)
>
Queued, thanks.
Paolo
Powered by blists - more mailing lists