Messages in this thread | | | Date | Thu, 22 May 2003 08:45:44 -0700 | From | William Lee Irwin III <> | Subject | Re: userspace irq balancer |
| |
On Thu, May 22, 2003 at 08:30:29AM -0700, James Cleverdon wrote: > Serial APICs have always had a spl-like effect built into them. > The effective > TPR value of a given local APIC is: > max(TPR, highest vector currently in progress) & 0xF0 > Parallel APICs don't do that because they don't have serial priority > arbitration; instead they use the xTPRs in the bridge chips. > So, I suppose an argument could be made for setting the TPR to the vector > number on entry of do_IRQ. I don't think that would be a good idea. It > could interfere with IRQ nesting during a non-DMA IDE interrupt handler. And > of course, an IRQ's vector has little to do with the IRQ itself, thanks to > the vector hashing scheme used to avoid the (stupid) 2 latches per APIC level > HW limitation of most i586 and i686 CPUs.
The code to deal with the 2 latches per APIC level is already problematic in other ways. I'm not sure how much we can be allowed to mix the issues. But I wouldn't mind at least hearing about alternative methods of dealing with that that interact better with the rest of the APIC mechanics. My interest in particular is vector exhaustion, but as you point out rearrangements of that can also serve to make the TPR more meaningful than it is now, and perhaps reduce mutual interference between devices generating many interrupts and those generating few.
-- wli - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |