From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [RFC PATCH 3/4] KVM: x86: Add EOI exit bitmap inference Date: Wed, 13 May 2015 09:51:43 +0200 Message-ID: <5553028F.1010204@redhat.com> References: <1431481652-27268-1-git-send-email-srutherford@google.com> <1431481652-27268-3-git-send-email-srutherford@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit Cc: ahonig@google.com To: Steve Rutherford , kvm@vger.kernel.org Return-path: Received: from mail-wi0-f172.google.com ([209.85.212.172]:35448 "EHLO mail-wi0-f172.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752970AbbEMHvt (ORCPT ); Wed, 13 May 2015 03:51:49 -0400 Received: by widdi4 with SMTP id di4so186466758wid.0 for ; Wed, 13 May 2015 00:51:48 -0700 (PDT) In-Reply-To: <1431481652-27268-3-git-send-email-srutherford@google.com> Sender: kvm-owner@vger.kernel.org List-ID: On 13/05/2015 03:47, Steve Rutherford wrote: > @@ -205,6 +205,8 @@ int kvm_set_irq_routing(struct kvm *kvm, > > synchronize_srcu_expedited(&kvm->irq_srcu); > > + kvm_vcpu_request_scan_userspace_ioapic(kvm); > + > new = old; > r = 0; > This can be done before synchronize_srcu_expedited, so that changes ripple to the VCPUs faster. > +void kvm_vcpu_request_scan_userspace_ioapic(struct kvm *kvm) > +{ > + struct kvm_ioapic *ioapic = kvm->arch.vioapic; > + > + if (ioapic) > + return; > + if (!lapic_in_kernel(kvm)) > + return; > + kvm_make_scan_ioapic_request(kvm); > +} This is okay for use in kvm_set_irq_routing (perhaps renamed to kvm_arch_irq_routing_update), but when it is used here: > if (!irqchip_split(kvm)) > kvm_vcpu_request_scan_ioapic(kvm); > + else > + kvm_vcpu_request_scan_userspace_ioapic(kvm); ... you can simply do this: - if (!irqchip_split(kvm)) - kvm_vcpu_request_scan_ioapic(kvm); + kvm_make_scan_ioapic_request(kvm); Paolo