From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [KVM PATCH v8 3/3] KVM: create irqfd-cleanup-wq on demand Date: Thu, 02 Jul 2009 17:22:55 +0300 Message-ID: <4A4CC2BF.3030809@redhat.com> References: <20090701160208.3615.99153.stgit@dev.haskins.net> <20090701160913.3615.35388.stgit@dev.haskins.net> 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, davidel@xmailserver.org To: Gregory Haskins Return-path: Received: from mx2.redhat.com ([66.187.237.31]:60498 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753724AbZGBOVA (ORCPT ); Thu, 2 Jul 2009 10:21:00 -0400 In-Reply-To: <20090701160913.3615.35388.stgit@dev.haskins.net> Sender: kvm-owner@vger.kernel.org List-ID: On 07/01/2009 07:09 PM, Gregory Haskins wrote: > We currently create this wq on module_init, which may be wasteful if the > host never creates a guest that uses irqfd. This patch changes the > algorithm so that the workqueue is only created when at least one guest > is using irqfd. The queue is cleaned up when the last guest using irqfd > is shutdown. > > To keep things simple, we only check whether the guest has tried to create > an irqfd, not whether there are actually irqfds active. > > +++ b/include/linux/kvm_host.h > @@ -144,6 +144,7 @@ struct kvm { > struct { > spinlock_t lock; > struct list_head items; > + int init:1; > Since you're rebasing anyway... change the bitfield to a bool. -- error compiling committee.c: too many arguments to function