Re: latest 'guaranteed low latency' patch against 2.2.14

From: Maciej W. Rozycki (macro@ds2.pg.gda.pl)
Date: Wed Feb 09 2000 - 06:58:25 EST


On Tue, 8 Feb 2000, David Schleef wrote:

> 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.

 You can reduce i8259A accesses by setting i8259As into the AEOI mode,
which fits Linux very well. In this mode you need not to send EOIs to the
chips, only to mask an IRQ on entry and unmask it on exit (which is done
now anyway). As a result, you save a few i8259A accesses every interrupt.

 Unfortunately, this sucks horribly for level-triggered interrupts on APIC
systems working in virtual wire mode (that is running UP kernels or with
"noapic" option). As such it's not suitable as a general solution but if
you have a specific need and need not run virtual wire mode
configurations, than this may be good for you. Writing appropriate code
is not difficult; I may dig my old patches if you want to see a (possibly
not working) example.

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +

- 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/



This archive was generated by hypermail 2b29 : Tue Feb 15 2000 - 21:00:14 EST