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

Yinghai Lu
2008-08-06T18:29:25Z

On Wed, Aug 6, 2008 at 10:37 AM, Eric W. Biederman
<ebiederm@xmission.com> wrote:
> Yinghai Lu <yhlu.kernel@gmail.com> 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