From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [KVM PATCH v5 0/4] irqfd fixes and enhancements Date: Sun, 28 Jun 2009 16:40:05 +0300 Message-ID: <4A4772B5.5030008@redhat.com> References: <20090625132441.26748.641.stgit@dev.haskins.net> <4A4382AE.8000508@novell.com> <4A474E04.3070608@redhat.com> <4A476927.4010900@novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, mst@redhat.com, paulmck@linux.vnet.ibm.com, davidel@xmailserver.org, rusty@rustcorp.com.au To: Gregory Haskins Return-path: Received: from mx2.redhat.com ([66.187.237.31]:37450 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753328AbZF1Nik (ORCPT ); Sun, 28 Jun 2009 09:38:40 -0400 In-Reply-To: <4A476927.4010900@novell.com> Sender: kvm-owner@vger.kernel.org List-ID: On 06/28/2009 03:59 PM, Gregory Haskins wrote: >> I agree that we want POLLHUP support, it's better than holding on to >> the eventfd. But I think we can make it even cleaner by merging it >> with deassign. Basically, when we get POLLHUP, we launch a slow_work >> (or something) that does a regular deassign. That slow_work can grab >> a ref to the vm, so we don't race with the VM disappearing. >> >> But given that the current slow_work does almost nothing, I'm not sure >> it's worth it. >> > > Yeah, and also note that the algorithm to unhook each side is not quite > symmetrical. I think I've captured all the common parts (in things like > irqfd_deactivate(), etc). A minor change in kvm_irqfd_release() could > technically use a deferred job to release instead of doing it inline, > but I do not think it buys us very much to do so (as you pointed out, > the defered part is actually fairly simple). The important parts of the > protocol lie outside of the work we can do in the work-item anyway. > Is the case of deassign vs POLLHUP covered? Reusing deassign in POLLHUP at least makes it easy to verify that it is. -- error compiling committee.c: too many arguments to function