* [question] NR_IRQS in genirq [not found] ` <alpine.LFD.2.00.1011241416360.2900@localhost6.localdomain6> @ 2010-11-24 13:46 ` Haojian Zhuang 2010-11-24 13:50 ` Mark Brown 2010-11-24 13:53 ` Thomas Gleixner 0 siblings, 2 replies; 5+ messages in thread From: Haojian Zhuang @ 2010-11-24 13:46 UTC (permalink / raw) To: linux-arm-kernel On Wed, Nov 24, 2010 at 9:18 PM, Thomas Gleixner <tglx@linutronix.de> wrote: > On Wed, 24 Nov 2010, Haojian Zhuang wrote: > >> Hi all, >> >> I'm using the latest kernel 2.6.37-rc1. Now I met some issues on genirq. >> >> 1. While SPARSE IRQ is enabled, nr_irqs may be larger than NR_IRQS. >> But the allocated_irqs bitmap (kernel/irq/irqdesc.c) is restricted in >> NR_IRQS. Is it an issue? > > Why can nr_irqs become larger? Is that a theoretical problem or did > you run into this ? > > Hi Thomas, My hardware environment is ARM. Each machine description can specify nr_irqs. In my implementation of PXA, NR_IRQS is fixed for SoC internal IRQs. And there's some additional board IRQs, we arrange them between NR_IRQS and nr_irqs. So nr_irqs will be larger than NR_IRQS if board IRQs exists. We use dynamic board IRQs since each machine has different requirement. And CONFIG_HARDIRQ_SW_RESEND is occasionally, I actually met issue in resend_irqs because of accessing bitmap memory out of bound. Do you mean that we shouldn't use SPARSE IRQ by this way? Best Regards Haojian ^ permalink raw reply [flat|nested] 5+ messages in thread
* [question] NR_IRQS in genirq 2010-11-24 13:46 ` [question] NR_IRQS in genirq Haojian Zhuang @ 2010-11-24 13:50 ` Mark Brown 2010-11-24 13:54 ` Thomas Gleixner 2010-11-24 13:53 ` Thomas Gleixner 1 sibling, 1 reply; 5+ messages in thread From: Mark Brown @ 2010-11-24 13:50 UTC (permalink / raw) To: linux-arm-kernel On Wed, Nov 24, 2010 at 09:46:06PM +0800, Haojian Zhuang wrote: > My hardware environment is ARM. Each machine description can specify > nr_irqs. In my implementation of PXA, NR_IRQS is fixed for SoC > internal IRQs. And there's some additional board IRQs, we arrange them > between NR_IRQS and nr_irqs. So nr_irqs will be larger than NR_IRQS if > board IRQs exists. Most ARM platforms have come up with some Kconfig gunk to allow boards to extend this for off-SoC GPIOs. It'd be really nice to get rid of NR_IRQS and stop having to worry about this at all :( ^ permalink raw reply [flat|nested] 5+ messages in thread
* [question] NR_IRQS in genirq 2010-11-24 13:50 ` Mark Brown @ 2010-11-24 13:54 ` Thomas Gleixner 2010-11-24 14:00 ` Mark Brown 0 siblings, 1 reply; 5+ messages in thread From: Thomas Gleixner @ 2010-11-24 13:54 UTC (permalink / raw) To: linux-arm-kernel On Wed, 24 Nov 2010, Mark Brown wrote: > On Wed, Nov 24, 2010 at 09:46:06PM +0800, Haojian Zhuang wrote: > > > My hardware environment is ARM. Each machine description can specify > > nr_irqs. In my implementation of PXA, NR_IRQS is fixed for SoC > > internal IRQs. And there's some additional board IRQs, we arrange them > > between NR_IRQS and nr_irqs. So nr_irqs will be larger than NR_IRQS if > > board IRQs exists. > > Most ARM platforms have come up with some Kconfig gunk to allow boards > to extend this for off-SoC GPIOs. It'd be really nice to get rid of > NR_IRQS and stop having to worry about this at all :( I mean with sparse_irq you can set NR_IRQS insanely high w/o increasing memory consumption. That's the whole point. Thanks, tglx ^ permalink raw reply [flat|nested] 5+ messages in thread
* [question] NR_IRQS in genirq 2010-11-24 13:54 ` Thomas Gleixner @ 2010-11-24 14:00 ` Mark Brown 0 siblings, 0 replies; 5+ messages in thread From: Mark Brown @ 2010-11-24 14:00 UTC (permalink / raw) To: linux-arm-kernel On Wed, Nov 24, 2010 at 02:54:38PM +0100, Thomas Gleixner wrote: > On Wed, 24 Nov 2010, Mark Brown wrote: > > On Wed, Nov 24, 2010 at 09:46:06PM +0800, Haojian Zhuang wrote: > > Most ARM platforms have come up with some Kconfig gunk to allow boards > > to extend this for off-SoC GPIOs. It'd be really nice to get rid of > > NR_IRQS and stop having to worry about this at all :( > I mean with sparse_irq you can set NR_IRQS insanely high w/o > increasing memory consumption. That's the whole point. Yeah, I was just pointing out common practice on ARM (sparse IRQ isn't widely enough deployed there :/ ). Would it be worth having sparse_irq change the default NR_IRQS to be something suitably large - there doesn't seem any point in having platforms using it each pick their own particular definition of insanely high? I'll take a look and cook up a patch unless I can spot anything silly about that by myself. ^ permalink raw reply [flat|nested] 5+ messages in thread
* [question] NR_IRQS in genirq 2010-11-24 13:46 ` [question] NR_IRQS in genirq Haojian Zhuang 2010-11-24 13:50 ` Mark Brown @ 2010-11-24 13:53 ` Thomas Gleixner 1 sibling, 0 replies; 5+ messages in thread From: Thomas Gleixner @ 2010-11-24 13:53 UTC (permalink / raw) To: linux-arm-kernel On Wed, 24 Nov 2010, Haojian Zhuang wrote: > On Wed, Nov 24, 2010 at 9:18 PM, Thomas Gleixner <tglx@linutronix.de> wrote: > > Why can nr_irqs become larger? Is that a theoretical problem or did > > you run into this ? > > My hardware environment is ARM. Each machine description can specify > nr_irqs. In my implementation of PXA, NR_IRQS is fixed for SoC > internal IRQs. And there's some additional board IRQs, we arrange them > between NR_IRQS and nr_irqs. So nr_irqs will be larger than NR_IRQS if > board IRQs exists. And that's wrong. NR_IRQS is the upper bound. nr_irqs is the runtime bound which is supposed to be <= NR_IRQS. The whole point of sparse_irq is that it does not statically allocate irq_desc[NR_IRQS] to reduce memory consumption if only a small number of irqs are actuallt used by a specific board. Thanks, tglx ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-11-24 14:00 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <AANLkTimoBdFyQ6GfS2DKiF0wdRox0x7MfM0_keD9Z1D0@mail.gmail.com>
[not found] ` <alpine.LFD.2.00.1011241416360.2900@localhost6.localdomain6>
2010-11-24 13:46 ` [question] NR_IRQS in genirq Haojian Zhuang
2010-11-24 13:50 ` Mark Brown
2010-11-24 13:54 ` Thomas Gleixner
2010-11-24 14:00 ` Mark Brown
2010-11-24 13:53 ` Thomas Gleixner
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox