Re: [PATCH 00/33] dyn_array and nr_irqs support v4

From: Yinghai Lu
Date: Wed Aug 06 2008 - 14:29:26 EST


On Wed, Aug 6, 2008 at 10:37 AM, Eric W. Biederman
<ebiederm@xxxxxxxxxxxx> wrote:
> Yinghai Lu <yhlu.kernel@xxxxxxxxx> writes:
>
>> Please check dyn_array support for x86
>> v3: split changing to nr_irqs to small patches
>> fix checkpatch error
>> reorder the patch sequence to make dyn_array support go at first
>> so could use that with arrays other than NR_IRQS
>> v4: add CONFIG_HAVE_SPARSE_IRQ with list to use condensed irq_desc array
>> so could use 32 init, and init more if needed.
>>
>> now: x86 32bit: have CONFIG_HAVE_DYN_ARRAY
>> x86 64bit: have CONFIG_HAVE_DYN_ARRAY and CONFIG_HAVE_SPARSE_IRQ
>>
>> left:
>> a. hook irq_2_iommu to irq_desc ?
>> b. expand /proc/interrupts to process > nr_irqs
>> c. expand to use irq > nr_irqs for msi
>>
>> notes: may break some arch compling...
>
> It looks like you might possibly be iterating to something usable.
> Breaking architectures is not acceptable however.
>
> My suggestion for a non-breaking path:
> - Kill NR_IRQS in then generic code.
> With Alan's serial patch and my kstat patch it looks like we have
> the worst of that.

will use Alan's patch.at first.
already reused your patch about kstat. and move kstat_irqs to irq_desc.

>
> - Introduce get_irq_desc and the functions or function modifications
> that pass a struct irq_desc * into the genirq code.
>
> Although I absolutely hate the name get_irq_desc as it implies we are
> reference counting something and need a corresponding put_irq_desc.
> Since the lifetime rules don't require that. Please just call the
> function irq_desc().

will check that.

>
> - Update arch/x86 to do everything interesting with irq_desc pointers.
>
> - Start dynamically allocating irq_desc and irq_cfg.

already done in last 10 patches.

YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/