lkml.org 
[lkml]   [2012]   [Jun]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[patch 3/5] x86: mce: Split timer init
    Split timer init function into the init and the start part, so the
    start part can replace the open coded version in CPU_DOWN_FAILED.

    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    ---
    arch/x86/kernel/cpu/mcheck/mce.c | 25 +++++++++++++------------
    1 file changed, 13 insertions(+), 12 deletions(-)

    Index: tip/arch/x86/kernel/cpu/mcheck/mce.c
    ===================================================================
    --- tip.orig/arch/x86/kernel/cpu/mcheck/mce.c
    +++ tip/arch/x86/kernel/cpu/mcheck/mce.c
    @@ -1554,23 +1554,28 @@ static void __mcheck_cpu_init_vendor(str
    }
    }

    -static void __mcheck_cpu_init_timer(void)
    +static void mce_start_timer(unsigned int cpu, struct timer_list *t)
    {
    - struct timer_list *t = &__get_cpu_var(mce_timer);
    unsigned long iv = check_interval * HZ;

    - setup_timer(t, mce_timer_fn, smp_processor_id());
    + __this_cpu_write(mce_next_interval, iv);

    - if (mce_ignore_ce)
    + if (mce_ignore_ce || !iv)
    return;

    - __this_cpu_write(mce_next_interval, iv);
    - if (!iv)
    - return;
    t->expires = round_jiffies(jiffies + iv);
    add_timer_on(t, smp_processor_id());
    }

    +static void __mcheck_cpu_init_timer(void)
    +{
    + struct timer_list *t = &__get_cpu_var(mce_timer);
    + unsigned int cpu = smp_processor_id();
    +
    + setup_timer(t, mce_timer_fn, cpu);
    + mce_start_timer(cpu, t);
    +}
    +
    /* Handle unconfigured int18 (should never happen) */
    static void unexpected_machine_check(struct pt_regs *regs, long error_code)
    {
    @@ -2275,12 +2280,8 @@ mce_cpu_callback(struct notifier_block *
    break;
    case CPU_DOWN_FAILED:
    case CPU_DOWN_FAILED_FROZEN:
    - if (!mce_ignore_ce && check_interval) {
    - t->expires = round_jiffies(jiffies +
    - per_cpu(mce_next_interval, cpu));
    - add_timer_on(t, cpu);
    - }
    smp_call_function_single(cpu, mce_reenable_cpu, &action, 1);
    + mce_start_timer(cpu, t);
    break;
    case CPU_POST_DEAD:
    /* intentionally ignoring frozen here */



    \
     
     \ /
      Last update: 2012-06-07 00:21    [W:0.024 / U:0.476 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site