Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c4d58cbd158dc9b30c55c0e3881ae7c6b8843d5a
Commit:     c4d58cbd158dc9b30c55c0e3881ae7c6b8843d5a
Parent:     abc63fcd3cc61876b2d6f5b0d08021bd1538385c
Author:     Thomas Gleixner <[EMAIL PROTECTED]>
AuthorDate: Fri Oct 12 23:04:07 2007 +0200
Committer:  Thomas Gleixner <[EMAIL PROTECTED]>
CommitDate: Fri Oct 12 23:04:07 2007 +0200

    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 <[EMAIL PROTECTED]>
    Signed-off-by: Chris Wright <[EMAIL PROTECTED]>
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
    Signed-off-by: Arjan van de Ven <[EMAIL PROTECTED]>
---
 arch/x86/kernel/apic_64.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c
index f74b1c2..40938ef 100644
--- a/arch/x86/kernel/apic_64.c
+++ b/arch/x86/kernel/apic_64.c
@@ -826,6 +826,9 @@ static void __init calibrate_APIC_clock(void)
        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
@@ -855,6 +858,9 @@ static void __init calibrate_APIC_clock(void)
                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",
@@ -873,22 +879,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 git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to