Re: [PATCH RFC 4/4] irq: allow a per-allocation upper limit whenallocating irqs

From: Grant Likely
Date: Thu May 26 2011 - 23:38:25 EST


On Wed, May 25, 2011 at 01:34:18AM -0500, Milton Miller wrote:
> Allow the option to specify an upper limit to the irq numbers for
> each allocation. The limit is non-inclusive, and 0 means no limit
> needed by caller.
>
> Some irq chips can support a relative large and arbitrary range,
> but not infinite. For example, they may use the linux irq number
> as the msi desciptor data, which for msi is 16 bits.
>
> Since e7bcecb7b1 (genirq: Make nr_irqs runtime expandable), checking
> NR_IRQS or even nr_irqs is not sufficient to enforce such requirements
> when sparse irqs are configured.
>
> Based on an irc discussion, make the limit per call instead of an
> arch callback or global setting.
>
> If the requested count is above the limit, return -ENOMEM as if
> nr_irqs could not be expanded, assuming the limit was specified at
> a different layer than the count.
>
> This code does not try to keep the prior semantics of irq_alloc_descs
> when irq was non-negative but not equal to from. I believe it was an
> implementation artifact instead of a designed feature that one could
> specify search starting from 4 and fail if the allocated irq was not
> exactly 6, confirming that the intervening irqs were reserved.
>
> Suggested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Signed-off-by: Milton Miller <miltonm@xxxxxxx>

Looks good to me/

g.

--
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/