lkml.org 
[lkml]   [2010]   [Nov]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH UPDATED 04/16] x86: Use local variable to cache smp_processor_id() in setup_local_APIC()
    Subject: x86: Use local variable to cache smp_processor_id() in setup_local_APIC()

    This is a trivial clean up.

    * Move initialization of @cpu inside preemption disabled region as
    suggested by Cyrill Gorcunov.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Cc: Yinghai Lu <yinghai@kernel.org>
    Cc: Cyrill Gorcunov <gorcunov@gmail.com>
    ---
    Updated as suggested. Git tree updated too.

    Thanks.

    arch/x86/kernel/apic/apic.c | 15 +++++++--------
    1 file changed, 7 insertions(+), 8 deletions(-)

    Index: work/arch/x86/kernel/apic/apic.c
    ===================================================================
    --- work.orig/arch/x86/kernel/apic/apic.c
    +++ work/arch/x86/kernel/apic/apic.c
    @@ -1202,7 +1202,7 @@ static void __cpuinit lapic_setup_esr(vo
    void __cpuinit setup_local_APIC(void)
    {
    unsigned int value, queued;
    - int i, j, acked = 0;
    + int cpu, i, j, acked = 0;
    unsigned long long tsc = 0, ntsc;
    long long max_loops = cpu_khz;

    @@ -1226,6 +1226,7 @@ void __cpuinit setup_local_APIC(void)
    perf_events_lapic_init();

    preempt_disable();
    + cpu = smp_processor_id();

    /*
    * Double-check whether this APIC is really registered.
    @@ -1342,21 +1343,19 @@ void __cpuinit setup_local_APIC(void)
    * TODO: set up through-local-APIC from through-I/O-APIC? --macro
    */
    value = apic_read(APIC_LVT0) & APIC_LVT_MASKED;
    - if (!smp_processor_id() && (pic_mode || !value)) {
    + if (!cpu && (pic_mode || !value)) {
    value = APIC_DM_EXTINT;
    - apic_printk(APIC_VERBOSE, "enabled ExtINT on CPU#%d\n",
    - smp_processor_id());
    + apic_printk(APIC_VERBOSE, "enabled ExtINT on CPU#%d\n", cpu);
    } else {
    value = APIC_DM_EXTINT | APIC_LVT_MASKED;
    - apic_printk(APIC_VERBOSE, "masked ExtINT on CPU#%d\n",
    - smp_processor_id());
    + apic_printk(APIC_VERBOSE, "masked ExtINT on CPU#%d\n", cpu);
    }
    apic_write(APIC_LVT0, value);

    /*
    * only the BP should see the LINT1 NMI signal, obviously.
    */
    - if (!smp_processor_id())
    + if (!cpu)
    value = APIC_DM_NMI;
    else
    value = APIC_DM_NMI | APIC_LVT_MASKED;
    @@ -1368,7 +1367,7 @@ void __cpuinit setup_local_APIC(void)

    #ifdef CONFIG_X86_MCE_INTEL
    /* Recheck CMCI information after local APIC is up on CPU #0 */
    - if (smp_processor_id() == 0)
    + if (cpu == 0)
    cmci_recheck();
    #endif
    }

    \
     
     \ /
      Last update: 2010-11-30 17:19    [W:0.078 / U:0.376 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site