lkml.org 
[lkml]   [2007]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch-mm 24/33] x86_64: remove nested irq disables
setup_APIC_timer disables interrupts anyway. So no need to do the same
in setup_boot_APIC_clock and setup_secondary_APIC_clock. Disable
interrupts explicit in the calibration code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>

---
arch/x86_64/kernel/apic.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
Index: linux-2.6.22-rc6-mm/arch/x86_64/kernel/apic.c
===================================================================
--- linux-2.6.22-rc6-mm.orig/arch/x86_64/kernel/apic.c 2007-07-15 17:41:32.000000000 +0200
+++ linux-2.6.22-rc6-mm/arch/x86_64/kernel/apic.c 2007-07-15 17:48:54.000000000 +0200
@@ -827,6 +827,9 @@ static void __init calibrate_APIC_clock(
unsigned apic, apic_start;
unsigned long tsc, tsc_start;
int result;
+
+ local_irq_disable();
+
/*
* Put whatever arbitrary (but long enough) timeout
* value into the APIC clock, we just want to get the
@@ -856,6 +859,9 @@ static void __init calibrate_APIC_clock(
result = (apic_start - apic) * 1000L * tsc_khz /
(tsc - tsc_start);
}
+
+ local_irq_enable();
+
printk(KERN_DEBUG "APIC timer calibration result %d\n", result);

printk(KERN_INFO "Detected %d.%03d MHz APIC timer.\n",
@@ -874,22 +880,16 @@ void __init setup_boot_APIC_clock (void)
printk(KERN_INFO "Using local APIC timer interrupts.\n");
using_apic_timer = 1;

- local_irq_disable();
-
calibrate_APIC_clock();
/*
* Now set up the timer for real.
*/
setup_APIC_timer();
-
- local_irq_enable();
}

void __cpuinit setup_secondary_APIC_clock(void)
{
- local_irq_disable(); /* FIXME: Do we need this? --RR */
setup_APIC_timer();
- local_irq_enable();
}

void disable_APIC_timer(void)
--

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

\
 
 \ /
  Last update: 2007-07-15 18:17    [from the cache]
©2003-2011 Jasper Spaans