From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH 1/2] xen: events: do not workaround too-small nr_irqs Date: Wed, 9 Feb 2011 11:21:36 -0500 Message-ID: <20110209162136.GA6160@dumpdata.com> References: <1297249759.25616.16.camel@zakaz.uk.xensource.com> <1297249845-32020-1-git-send-email-ian.campbell@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <1297249845-32020-1-git-send-email-ian.campbell@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ian Campbell Cc: Jeremy Fitzhardinge , xen-devel@lists.xensource.com List-Id: xen-devel@lists.xenproject.org On Wed, Feb 09, 2011 at 11:10:44AM +0000, Ian Campbell wrote: > This workaround was somewhat useful prior to the introduction of the > core irq allocator and 026c9d2d0d75 "xen: events: allocate GSIs and > dynamic IRQs from separate IRQ ranges." but should not be unnecessary now. > > If nr_irqs turns out to be too small under Xen then we use (or define > if necessary) the interfaces to increase nr_irqs rather than working > around the core allocator in this way. > > In my configuration NR_IRQS ends up being 2304 with nr_irq_gsi 272 > which is sufficient. Is this configuration where you run Xen + Linux under QEMU? > > Signed-off-by: Ian Campbell > Cc: Konrad Rzeszutek Wilk > Cc: Jeremy Fitzhardinge > --- > drivers/xen/events.c | 7 ------- > 1 files changed, 0 insertions(+), 7 deletions(-) > > diff --git a/drivers/xen/events.c b/drivers/xen/events.c > index 975e90f..ce33061 100644 > --- a/drivers/xen/events.c > +++ b/drivers/xen/events.c > @@ -393,15 +393,8 @@ static int xen_allocate_irq_dynamic(void) > first = get_nr_irqs_gsi(); > #endif > > -retry: > irq = irq_alloc_desc_from(first, -1); > > - if (irq == -ENOMEM && first > NR_IRQS_LEGACY) { > - printk(KERN_ERR "Out of dynamic IRQ space and eating into GSI space. You should increase nr_irqs\n"); > - first = max(NR_IRQS_LEGACY, first - NR_IRQS_LEGACY); > - goto retry; > - } > - > if (irq < 0) > panic("No available IRQ to bind to: increase nr_irqs!\n"); > > -- > 1.5.6.5