[PATCH][2.5.68] 16-byte align x86 IRQ entry points

Chuck Ebbert (76306.1226@compuserve.com)
Sun, 20 Apr 2003 13:03:03 -0400


How can I further test this patch? (It boots...)

It should be harmless; at worst it will add about 1K to an
SMP or IOAPIC kernel.

If it works it should reduce interrupt latency.

--- a/arch/i386/kernel/entry.S
+++ b/arch/i386/kernel/entry.S
@ -382,29 +382,31 @
ENTRY(interrupt)
.text

-vector=0
+ .align 16,0x90
ENTRY(irq_entries_start)
+vector=0
.rept NR_IRQS
- ALIGN
1: pushl $vector-256
jmp common_interrupt
+ .align 16,0x90
.data
.long 1b
.text
vector=vector+1
.endr

- ALIGN
+/* aligned 16 */
common_interrupt:
SAVE_ALL
call do_IRQ
jmp ret_from_intr

#define BUILD_INTERRUPT(name, nr) \
+ .align 16,0x90; \
ENTRY(name) \
pushl $nr-256; \
SAVE_ALL \
- call smp_/**/name; \
+ call smp_/**/name; \
jmp ret_from_intr;

/* The include is where all of the SMP etc. interrupts come from */

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