From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756308AbcLSQRV (ORCPT ); Mon, 19 Dec 2016 11:17:21 -0500 Received: from mail-wm0-f44.google.com ([74.125.82.44]:38854 "EHLO mail-wm0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754774AbcLSQRS (ORCPT ); Mon, 19 Dec 2016 11:17:18 -0500 From: Paolo Bonzini To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Subject: [PATCH v2 0/6] KVM: x86: cleanup and speedup for APICv Date: Mon, 19 Dec 2016 17:17:06 +0100 Message-Id: <1482164232-130035-1-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.8.3.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org These are the fixed patches that now pass vmx.flat. The issue in "KVM: x86: do not scan IRR twice on APICv vmentry" was that, in v1 of the patches, kvm_cpu_get_interrupt did not scan IRR at all if it found PIR.ON=0. This is now fixed in patches 4 and 5. Another latent bug has to be fixed in patch 2. The patch also highlights the maze that check_nested_events has become. Fixing that is left for later. The patches are on top of the (non-APICv-related) KVM_REQ_EVENT patches from this morning. According to kvm-unit-tests, patch 6 speeds up self-IPIs (if not done through the accelerated self-IPI MSR) by 5-10%. Paolo Paolo Bonzini (6): KVM: vmx: clear pending interrupts on KVM_SET_LAPIC kvm: nVMX: move nested events check to kvm_vcpu_running KVM: x86: preparatory changes for APICv cleanups KVM: vmx: move sync_pir_to_irr from apic_find_highest_irr to callers KVM: x86: do not scan IRR twice on APICv vmentry kvm: x86: do not use KVM_REQ_EVENT for APICv interrupt injection arch/x86/include/asm/kvm_host.h | 2 +- arch/x86/kvm/lapic.c | 42 ++++++++++++++++++------------- arch/x86/kvm/lapic.h | 4 +-- arch/x86/kvm/svm.c | 6 ----- arch/x86/kvm/vmx.c | 55 +++++++++++++++++++++++++++-------------- arch/x86/kvm/x86.c | 53 +++++++++++++++++++++------------------ 6 files changed, 93 insertions(+), 69 deletions(-) -- 1.8.3.1