From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH 1/2] xen: events: do not workaround too-small nr_irqs Date: Wed, 9 Feb 2011 16:57:11 +0000 Message-ID: <1297270631.3221.675.camel@localhost.localdomain> References: <1297249759.25616.16.camel@zakaz.uk.xensource.com> <1297249845-32020-1-git-send-email-ian.campbell@citrix.com> <20110209162136.GA6160@dumpdata.com> Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20110209162136.GA6160@dumpdata.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: Konrad Rzeszutek Wilk Cc: Fitzhardinge , "xen-devel@lists.xensource.com" , Jeremy List-Id: xen-devel@lists.xenproject.org On Wed, 2011-02-09 at 16:21 +0000, Konrad Rzeszutek Wilk wrote: > 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? No, it was my physical test box. If this change causes problems under qemu then we need to work with the x86 guys to find a way to allow us to increase nr_irqs at start of day when running under Xen (e.g. a generic interface to add headroom for dynamic IRQs etc). Ian. > > > > 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