Messages in this thread | | | Date | Thu, 13 Nov 2008 14:41:36 -0800 | From | Yinghai Lu <> | Subject | Re: [PATCH] sparse_irq aka dyn_irq v13 |
| |
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
YH
| |