Messages in this thread | | | Date | Thu, 13 Nov 2008 14:58:46 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH] sparse_irq aka dyn_irq v13 |
| |
On Thu, 13 Nov 2008 14:41:36 -0800 Yinghai Lu <yinghai@kernel.org> wrote:
> Andrew Morton wrote: > > >> ... > >> > >>>> +static unsigned int kstat_irqs_legacy[NR_IRQS_LEGACY][NR_CPUS]; > >>> Do these need to be 32-bit? Maybe they'll fit in 16-bit, dunno. > >>> > >> struct irq_desc { > >> unsigned int irq; > >> #ifdef CONFIG_SPARSE_IRQ > >> struct list_head list; > >> struct list_head hash_entry; > >> struct timer_rand_state *timer_rand_state; > >> unsigned int *kstat_irqs; > > > > That doesn't address my question. > > > > The above array can be very large. Can we halve its size by using > > 16-bit quantities? Will this code ever encounter IRQ numbers larger > > than 65536? > > > > NR_CPUS=4096, NR_IRQS_LEGACY=16, and that array will be 256k bytes > > later could change that alloc_bootmem, so NR_CPUS will be replaced to nr_cpu_ids
Do the entries in that array need to be 32-bit?
| |