Messages in this thread | | | Date | Thu, 13 Nov 2008 16:29:13 -0800 | From | Yinghai Lu <> | Subject | Re: [PATCH] sparse_irq aka dyn_irq v13 |
| |
Mike Travis wrote: > Yinghai Lu wrote: >> Mike Travis wrote: >>> Andrew Morton wrote: >>>> On Thu, 13 Nov 2008 14:41:36 -0800 >>>> Yinghai Lu <yinghai@kernel.org> wrote: >>>> >>> That's a good question. If there are 4k or 16k cpus, would the number of >>> irq's being "kstat'd" need to be > 64k? (I'm not exactly sure why there >>> are NR_CPUS * NR_IRQS_LEGACY kstat entries per IRQ?) >> can be replaced with nr_cpu_ids * NR_IRQS_LEGACY... >> >> YH > > Ok, but why does each irq need a list of all other irq's in the system? > Can they be collapsed into one array or percpu list?
use a big pointer array like struct irq_desc *desc[1<<32] ? that means 32g bytes... irq = bus/dev/fn/idx
or struct irq_desc *desc[NR_CPUS * NR_VECTORS] or per_cpu etc, it mean 4096*256*8 ... irq = cpu/idx
YH
| |