Re: userspace irq balancer

William Lee Irwin III
2003-05-22T14:30:30Z

On Thu, May 22, 2003 at 07:18:06AM -0700, James Cleverdon wrote:
> Here's my old very stupid TPR patch . It lacks TPRing soft ints for kernel
> preemption, etc. Because the xTPR logic only compares the top nibble of the
> TPR and I don't want to mask out IRQs unnecessarily, it only tracks busy/idle
> and IRQ/no-IRQ.
> Simple enough for you, Bill? 8^)

Simple enough, yes. But I hesitate to endorse it without making sure
it's not too simple.

It's much closer to the right direction, which is actually following
hardware docs and then punting the fancy (potentially more performant)
bits up into userspace. When properly tuned, it should actually have a
useful interaction with explicit irq balancing via retargeting IO-APIC
RTE destinations as interrupts targeted at a destination specifying
multiple cpus won't always target a single cpu when TPR's are adjusted.

The only real issue with the TPR is that it's an spl-like ranking of
interrupts, assuming a static prioritization based on vector number.
That doesn't really agree with the Linux model and is undesirable in
various scenarios; however, it's how the hardware works and so can't
be avoided (and the disastrous attempt to avoid it didn't DTRT anyway).

-- wli