Re: [PATCH] 2.6.1-mm2: Get irq_vector size right for generic subarch UP installer kernels

From: James Cleverdon
Date: Thu Jan 15 2004 - 17:00:05 EST


On Wednesday 14 January 2004 8:36 pm, Zwane Mwaikambo wrote:
> On Wed, 14 Jan 2004, Nakajima, Jun wrote:
> > I tend to agree. I think the confusing part is the range of the IRQs on
> > that machine. Assuming that irq_vector[NR_IRQ_VECTORS = 1024] requires
> > more entries, then the IRQs should take that range, because
> > IO_APCI_VECTOR(irq) is just irq_vector[irq], for example. If NR_IRQS is
> > still 224, how can do_IRQ() can get the correct IRQ (i.e. >= 224) ? So
> > in that case, the IRQ should be smaller than 224, then irq_vector[]
> > should be smaller.
>
> In my opinion we should be breaking after we've exceeded the maximum
> external vectors we can install. This will of course mean less than
> the number of RTEs. James have you actually managed to use the devices
> connected to the high (over ~224) RTEs?

No, I haven't exceeded the available vectors, but wli has on a large NUMA-Q
box.

The x440 and x445's problems are pre-reserving lots of bus numbers in the
BIOS, more than one per PCI slot. They must be anticipating PCI cards with
bridge chips on them.

I believe that the reason for irq_vector being so large is to allow IRQ (and
eventually vector) sharing. The array is to map from RTE to vector.

--
James Cleverdon
IBM xSeries Linux Solutions
{jamesclv(Unix, preferred), cleverdj(Notes)} at us dot ibm dot comm
-
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/