Re: [PATCH] Remove unnecessary irq disabling

From: Glauber de Oliveira Costa
Date: Wed May 02 2007 - 00:40:03 EST


On Tue, May 01, 2007 at 07:59:21PM -0400, Mark Lord wrote:
> Glauber de Oliveira Costa wrote:
> >RR asks us if it is really necessary to disable interrupts in
> >setup_secondary_APIC_clock(). The answer is no, since setup_APIC_timer()
> >starts by saving irq flags, which also disables them.
> >
> >Signed-off-by: Glauber de Oliveira Costa <gcosta@xxxxxxxxxx>
> >
> >--- a/arch/x86_64/kernel/apic.c
> >+++ b/arch/x86_64/kernel/apic.c
> >@@ -875,9 +875,7 @@ void __init setup_boot_APIC_clock (void)
> >
> > void __cpuinit setup_secondary_APIC_clock(void)
> > {
> >- local_irq_disable(); /* FIXME: Do we need this? --RR */
> > setup_APIC_timer(calibration_result);
> >- local_irq_enable();
> > }
> >
> > void disable_APIC_timer(void)
>
> Okay, I'll bite: before the patch, this code would exit
> with interrupts *enabled*, always. Now it does not.
>
yeah, you have a point. The disable is unnecessary, but maybe
the enable is not. However,

> What does that break, or was it already broken and this fixes it?
I think neither. This function is only called at early bootup,
(start_secondary() ), and most of its callees have interrupts off anyway.
But maybe we do lose something. Andi, do you have a word on this?

--
Glauber de Oliveira Costa
Red Hat Inc.
"Free as in Freedom"
-
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/