lkml.org 
[lkml]   [2007]   [Jul]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 2/4] [cpuid driver] Simplify smp_call_function_single() call sequence
    Date
    smp_call_function_single() now knows how to call the function on the
    current cpu.

    Cc: H. Peter Anvin <hpa@zytor.com>
    Signed-off-by: Avi Kivity <avi@qumranet.com>
    ---
    arch/i386/kernel/cpuid.c | 22 +++-------------------
    1 files changed, 3 insertions(+), 19 deletions(-)

    diff --git a/arch/i386/kernel/cpuid.c b/arch/i386/kernel/cpuid.c
    index 5c2faa1..5665dd2 100644
    --- a/arch/i386/kernel/cpuid.c
    +++ b/arch/i386/kernel/cpuid.c
    @@ -45,8 +45,6 @@

    static struct class *cpuid_class;

    -#ifdef CONFIG_SMP
    -
    struct cpuid_command {
    u32 reg;
    u32 *data;
    @@ -64,25 +62,11 @@ static inline void do_cpuid(int cpu, u32 reg, u32 * data)
    {
    struct cpuid_command cmd;

    - preempt_disable();
    - if (cpu == smp_processor_id()) {
    - cpuid(reg, &data[0], &data[1], &data[2], &data[3]);
    - } else {
    - cmd.reg = reg;
    - cmd.data = data;
    + cmd.reg = reg;
    + cmd.data = data;

    - smp_call_function_single(cpu, cpuid_smp_cpuid, &cmd, 1, 1);
    - }
    - preempt_enable();
    + smp_call_function_single(cpu, cpuid_smp_cpuid, &cmd, 1, 1);
    }
    -#else /* ! CONFIG_SMP */
    -
    -static inline void do_cpuid(int cpu, u32 reg, u32 * data)
    -{
    - cpuid(reg, &data[0], &data[1], &data[2], &data[3]);
    -}
    -
    -#endif /* ! CONFIG_SMP */

    static loff_t cpuid_seek(struct file *file, loff_t offset, int orig)
    {
    --
    1.5.2.4
    -
    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-21 17:03    [W:0.020 / U:60.976 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site