From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [RFC PATCH] kvm: Extend irqfd to support level interrupts Date: Mon, 18 Jun 2012 12:33:01 +0300 Message-ID: <4FDEF5CD.8090806@redhat.com> References: <20120616163230.15204.61075.stgit@bling.home> <4FDEE0A3.80900@redhat.com> <4FDEEC52.8080806@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: Alex Williamson , "mtosatti@redhat.com" , "kvm@vger.kernel.org" , "mst@redhat.com" To: Jan Kiszka Return-path: Received: from mx1.redhat.com ([209.132.183.28]:62160 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752396Ab2FRJdG (ORCPT ); Mon, 18 Jun 2012 05:33:06 -0400 In-Reply-To: <4FDEEC52.8080806@siemens.com> Sender: kvm-owner@vger.kernel.org List-ID: On 06/18/2012 11:52 AM, Jan Kiszka wrote: >> >> I don't understand how this works. A level IRQ isn't de-asserted by the >> EOI, it's de-asserted by its source. >> >> Consider the following sequence: >> >> device guest >> >> event >> assert >> interrupt >> interrupt handler >> handle event >> clear ISR bit >> deassert >> event >> assert >> EOI >> >> What should happen is that the interrupt will be redelivered >> immmediately after the EOI, but that won't happen with your API since >> the EOI ack notifier will deassert the interrupt and nothing will >> re-assert it. > > As it's level triggered and we unmask the physical source, another > host-side interrupt will be triggered and then reported to the guest. That works for real devices. What about emulated devices (vhost, msi-less ivshmem clone)? -- error compiling committee.c: too many arguments to function