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: Thu, 14 May 2015 17:46:38 +0200 Message-ID: <5554C35E.5060507@redhat.com> References: <1431481652-27268-1-git-send-email-srutherford@google.com> <1431481652-27268-3-git-send-email-srutherford@google.com> <5553028F.1010204@redhat.com> <20150513222406.GA24121@google.com> <555468C8.8050303@redhat.com> <1431616989.3625.115.camel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: Steve Rutherford , kvm@vger.kernel.org, ahonig@google.com To: Alex Williamson Return-path: Received: from mx1.redhat.com ([209.132.183.28]:34743 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933153AbbENPqn (ORCPT ); Thu, 14 May 2015 11:46:43 -0400 In-Reply-To: <1431616989.3625.115.camel@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 14/05/2015 17:23, Alex Williamson wrote: > > Would irq_ack_notifiers be used at all with this patch set? Resampling > > of IOAPIC level-triggered interrupts would be implemented in userspace. > > For the same reason, assigned devices using legacy device assignment > > probably would not be able to use INTX (so this feature should depend on > > !KVM_DEVICE_ASSIGNMENT). Add the emulated i8254 and the last user of > > irq_ack_notifiers goes away. > > > > Alex, how does VFIO do INTX resampling if you're using TCG or -machine > > kernel_irqchip=off? (Context: this series keeps the local APIC > > emulation in the kernel, thus including MSI, but moves the IOAPIC > > emualtion to userspace). > > Without KVM irqchip, we use a rudimentary approach where we disable > mmaps to the device when an interrupt occurs. This makes us trap all > accesses to the device. We then handle any device access from the guest > as a potential EOI and unmask the interrupt. If the interrupt re-fires, > we've at least rate-limited it. If it doesn't, a timer eventually > re-enables devices mmaps. It's not very efficient, but it works (for > both PCI and platform devices) and avoids IRQ APIs through QEMU that get > very platform/machine specific. Thanks, If we move the IOAPIC back to userspace, it probably would be easier to implement irqfd/resamplefd in userspace as well. Let the bikeshedding start! Paolo