RE: [patch 4/5] x2apic, IR: remove reinit_intr_remapped_IO_APIC()

From: Han, Weidong
Date: Tue Apr 21 2009 - 02:38:20 EST


Siddha, Suresh B wrote:
> When interrupt-remapping is enabled, We are relying on
> setup_IO_APIC_irqs()
> to configure remapped entries in the IO-APIC, which comes little bit
> later after enabling interrupt-remapping.
>
> Meanwhile, Restore of old io-apic entries after enabling
> interrupt-remapping will not make the interrupts through io-apic
> functional anyway.
>
> So remove unnecessary reinit_intr_remapped_IO_APIC().
>
> Signed-off-by: Suresh Siddha <suresh.b.siddha@xxxxxxxxx>
> Cc: Weidong Han <weidong.han@xxxxxxxxx>
> ---
>
> Index: tip/arch/x86/include/asm/io_apic.h
> ===================================================================
> --- tip.orig/arch/x86/include/asm/io_apic.h
> +++ tip/arch/x86/include/asm/io_apic.h
> @@ -166,8 +166,6 @@ extern void free_ioapic_entries(struct I
> extern int save_IO_APIC_setup(struct IO_APIC_route_entry
> **ioapic_entries); extern void mask_IO_APIC_setup(struct
> IO_APIC_route_entry **ioapic_entries); extern int
> restore_IO_APIC_setup(struct IO_APIC_route_entry **ioapic_entries);
> -extern void reinit_intr_remapped_IO_APIC(int intr_remapping,
> - struct IO_APIC_route_entry **ioapic_entries);
>
> extern void probe_nr_irqs_gsi(void);
>
> Index: tip/arch/x86/kernel/apic/apic.c
> ===================================================================
> --- tip.orig/arch/x86/kernel/apic/apic.c
> +++ tip/arch/x86/kernel/apic/apic.c
> @@ -1416,8 +1416,6 @@ end_restore:
> * IR enabling failed
> */
> restore_IO_APIC_setup(ioapic_entries);
> - else
> - reinit_intr_remapped_IO_APIC(x2apic_preenabled, ioapic_entries);

Whether IR enabling succeeds or fails, it always needs to restore old IOAPIC entries. Due to removing reinit_intr_remapped_IO_APIC here, it needs to also remove the "if (ret)" before restore_IO_APIC_setup(ioapic_entries);

Regards,
Weidong


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