lkml.org 
[lkml]   [2000]   [Feb]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: latest 'guaranteed low latency' patch against 2.2.14
On Wed, Feb 09, 2000 at 02:59:41AM +0100, Ingo Molnar wrote:
>
> you need a system equipped with an IO-APIC (either SMP system, or UP
> system with IOAPIC). Then any IRQ source (or more) can be marked to be
> delivered to the NMI pin - sorting out which IRQ is which is a different
> matter. If only one IRQ is redirected to NMI then it's not a problem. A
> redirected IRQ is dedicated to be NMI, so it will not show up in the
> do_IRQ() path.
>
> so it's a special case, and for the 'generic ISA box' case it's not
> possible without extra hardware. (but the extra hardware to generate
> periodic NMI interrupts is not expensive at all)
>


I've been thinking of ideas like this for multiple-priority interrupts,
a la RTLinux, although I would prefer to see it integrated into the
kernel. One idea I had was to set the APIC_LDR mask of cpu #0 to
0x03, cpu #1 to 0xc0, etc., and then set the destination mask for
higher priority interrupts to 0xff, and low priority interrupts to
0x55. Then to disable low priority interrupts, a cpu would set its
APIC_LDR mask to 0x02 (or 0x08). Unfortunately, I don't know if this
is legal and/or fast enough. I'm hoping you might shed some light.
Actually doing the coding and testing it has not been given a time
slice in several weeks.

I have, however, written a dual-priority patch for the i8259.
Originally, it touched the i8259 every time a 'cli()' was done,
which was butt-slow. Now, however, it touches the i8259 only
when it _really_, __really__ needs to (basically only when it
needs to avoid IRQ floods), which means that it touches the
i8259 even less than stock 2.3.42.




dave...



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:56    [W:0.084 / U:1.564 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site