lkml.org 
[lkml]   [2006]   [Oct]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] x86_64 add missing enter_idle() calls
    Hi,

    Unless I am mistaken, I think we are missing some calls to enter_idle()
    in the x86_64 tree. The following patch adds a bunch of missing
    enter_idle() callbacks for some of the "direct" interrupt handlers.

    changelog:
    - adds missing enter_idle() calls to most of the "direct" interrupt
    handlers.

    signed-off-by: stephane eranian <eranian@hpl.hp.com>

    diff --git a/arch/x86_64/kernel/apic.c b/arch/x86_64/kernel/apic.c
    index af4a1c7..74ed3b8 100644
    --- a/arch/x86_64/kernel/apic.c
    +++ b/arch/x86_64/kernel/apic.c
    @@ -1015,6 +1015,7 @@ #if 0
    }
    #endif
    irq_exit();
    + enter_idle();
    }

    /*
    @@ -1047,6 +1048,7 @@ asmlinkage void smp_error_interrupt(void
    printk (KERN_DEBUG "APIC error on CPU%d: %02x(%02x)\n",
    smp_processor_id(), v , v1);
    irq_exit();
    + enter_idle();
    }

    int disable_apic;
    diff --git a/arch/x86_64/kernel/irq.c b/arch/x86_64/kernel/irq.c
    index b8a407f..28c73d8 100644
    --- a/arch/x86_64/kernel/irq.c
    +++ b/arch/x86_64/kernel/irq.c
    @@ -127,6 +127,7 @@ #endif
    irq_exit();

    set_irq_regs(old_regs);
    + enter_idle();
    return 1;
    }

    diff --git a/arch/x86_64/kernel/mce_amd.c b/arch/x86_64/kernel/mce_amd.c
    index 883fe74..4b458eb 100644
    --- a/arch/x86_64/kernel/mce_amd.c
    +++ b/arch/x86_64/kernel/mce_amd.c
    @@ -224,6 +224,7 @@ asmlinkage void mce_threshold_interrupt(
    }
    out:
    irq_exit();
    + enter_idle();
    }

    /*
    diff --git a/arch/x86_64/kernel/mce_intel.c b/arch/x86_64/kernel/mce_intel.c
    index 6551505..030b1e3 100644
    --- a/arch/x86_64/kernel/mce_intel.c
    +++ b/arch/x86_64/kernel/mce_intel.c
    @@ -27,6 +27,7 @@ asmlinkage void smp_thermal_interrupt(vo
    mce_log_therm_throt_event(smp_processor_id(), msr_val);

    irq_exit();
    + enter_idle();
    }

    static void __cpuinit intel_init_thermal(struct cpuinfo_x86 *c)
    diff --git a/arch/x86_64/kernel/process.c b/arch/x86_64/kernel/process.c
    diff --git a/arch/x86_64/kernel/smp.c b/arch/x86_64/kernel/smp.c
    index 4f67697..c1d70e3 100644
    --- a/arch/x86_64/kernel/smp.c
    +++ b/arch/x86_64/kernel/smp.c
    @@ -520,5 +520,6 @@ asmlinkage void smp_call_function_interr
    mb();
    atomic_inc(&call_data->finished);
    }
    + enter_idle();
    }

    -
    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: 2006-10-06 10:21    [W:0.034 / U:123.612 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site