[patch] io-apic cleanup #3, BK-curr

From: Ingo Molnar
Date: Thu May 27 2004 - 10:57:04 EST



the patch below gets rid of io_apic_sync().

io_apic_sync() was introduced in 2.1.104 and it was originally done for
masking and unmasking as well. Later the unmasking use got removed but
the masking use lingered around. I dont think it was ever justified to
do it and clearly since the lack of io_apic_sync() didnt break some of
the other writes we do to the IO-APIC registers, it must be unnecessary
in the masking case too. Maciej?

Ingo

Signed-off-by: Ingo Molnar <mingo@xxxxxxx>

--- linux/arch/i386/kernel/io_apic.c.orig
+++ linux/arch/i386/kernel/io_apic.c
@@ -145,10 +145,7 @@ static void __modify_IO_APIC_irq (unsign
/* mask = 1 */
static void __mask_IO_APIC_irq (unsigned int irq)
{
- struct irq_pin_list *entry = irq_2_pin + irq;
__modify_IO_APIC_irq(irq, 0x00010000, 0);
- /* Is it needed? Or do others need it too? */
- io_apic_sync(entry->apic);
}

/* mask = 0 */
--- linux/include/asm-i386/io_apic.h.orig
+++ linux/include/asm-i386/io_apic.h
@@ -188,15 +188,6 @@ static inline void io_apic_modify(unsign
*(IO_APIC_BASE(apic)+4) = value;
}

-/*
- * Synchronize the IO-APIC and the CPU by doing
- * a dummy read from the IO-APIC
- */
-static inline void io_apic_sync(unsigned int apic)
-{
- (void) *(IO_APIC_BASE(apic)+4);
-}
-
/* 1 if "noapic" boot option passed */
extern int skip_ioapic_setup;

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