lkml.org 
[lkml]   [2012]   [Jan]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] arm: irq: Allow for specification of no preallocated irqs
    On 01/19/2012 06:29 PM, Michael Bohan wrote:
    > On 1/19/2012 3:04 PM, Rob Herring wrote:
    >> No doubt that arch_probe_nr_irqs is doing the wrong thing on ARM, but no
    >> pre-allocation is not what we want either. We ultimately want
    >> arch_probe_nr_irqs to return NR_IRQS_LEGACY (16) to reserve IRQ0 (aka
    >> NO_IRQ) and legacy ISA IRQs. With my series, NR_IRQS is set to
    >> NR_IRQS_LEGACY for SPARSE_IRQ. You can accomplish the same thing without
    >> that series by setting .nr_irqs to NR_IRQS for non-DT and to
    >> NR_IRQS_LEGACY for DT. For platforms to work in single kernel builds,
    >> they will need to select SPARSE_IRQ.
    >
    > One issue here is that IRQ_BITMAP_BITS is defined as a function of
    > NR_IRQS. Currently, there's a hack in place that arbitrarily tacks on
    > 8196 bits to the end, giving the max virq supported as 8212 with your
    > patches. Unfortunately, the system I'm running on will require higher
    > values than that, so this actually breaks me.
    >
    > It seems like the right solution to this problem is to have the
    > allocated_irqs bitmap expandable at runtime. Or perhaps use a different
    > data structure to begin with?

    I believe the correct solution is using the radix tree in irqdomain as
    Ben H suggested. Does that not work?

    Rob


    \
     
     \ /
      Last update: 2012-01-20 14:57    [W:0.022 / U:35.420 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site