From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH v7 2/2] kvm: KVM_EOIFD, an eventfd for EOIs Date: Mon, 06 Aug 2012 13:38:17 +0300 Message-ID: <501F9E99.9010109@redhat.com> References: <20120724203628.21081.56884.stgit@bling.home> <20120724204320.21081.32333.stgit@bling.home> <501F99A8.9050006@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: mst@redhat.com, gleb@redhat.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, jan.kiszka@siemens.com To: Alex Williamson Return-path: In-Reply-To: <501F99A8.9050006@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 08/06/2012 01:17 PM, Avi Kivity wrote: > >> >> +4.77 KVM_EOIFD >> + >> +Capability: KVM_CAP_EOIFD >> +Architectures: x86 >> +Type: vm ioctl >> +Parameters: struct kvm_eoifd (in) >> +Returns: 0 on success, < 0 on error >> + >> +KVM_EOIFD allows userspace to receive interrupt EOI notification >> +through an eventfd. kvm_eoifd.fd specifies the eventfd used for >> +notification. KVM_EOIFD_FLAG_DEASSIGN is used to de-assign an eoifd >> +once assigned. KVM_EOIFD also requires additional bits set in >> +kvm_eoifd.flags to bind to the proper interrupt line. The >> +KVM_EOIFD_FLAG_LEVEL_IRQFD indicates that kvm_eoifd.key is provided >> +and is a key from a level triggered interrupt (configured from >> +KVM_IRQFD using KVM_IRQFD_FLAG_LEVEL). The EOI notification is bound >> +to the same GSI and irqchip input as the irqfd. Both kvm_eoifd.key >> +and KVM_EOIFD_FLAG_LEVEL_IRQFD must be specified on assignment and >> +de-assignment of KVM_EOIFD. A level irqfd may only be bound to a >> +single eoifd. KVM_CAP_EOIFD_LEVEL_IRQFD indicates support of >> +KVM_EOIFD_FLAG_LEVEL_IRQFD. > > Why do we need to couple eoifd and irqfd? Oh, it's to auto-deassert the line. Regarding the implementation, instead of a linked list, would an array of counters parallel to the bitmap make it simpler? -- error compiling committee.c: too many arguments to function