Loading arch/x86/lib/msr.c +10 −16 Original line number Diff line number Diff line Loading @@ -89,16 +89,13 @@ void rdmsr_on_cpus(const cpumask_t *mask, u32 msr_no, struct msr *msrs) rv.msrs = msrs; rv.msr_no = msr_no; preempt_disable(); /* * FIXME: handle the CPU we're executing on separately for now until * smp_call_function_many has been fixed to not skip it. */ this_cpu = raw_smp_processor_id(); smp_call_function_single(this_cpu, __rdmsr_on_cpu, &rv, 1); this_cpu = get_cpu(); if (cpumask_test_cpu(this_cpu, mask)) __rdmsr_on_cpu(&rv); smp_call_function_many(mask, __rdmsr_on_cpu, &rv, 1); preempt_enable(); put_cpu(); } EXPORT_SYMBOL(rdmsr_on_cpus); Loading @@ -121,16 +118,13 @@ void wrmsr_on_cpus(const cpumask_t *mask, u32 msr_no, struct msr *msrs) rv.msrs = msrs; rv.msr_no = msr_no; preempt_disable(); /* * FIXME: handle the CPU we're executing on separately for now until * smp_call_function_many has been fixed to not skip it. */ this_cpu = raw_smp_processor_id(); smp_call_function_single(this_cpu, __wrmsr_on_cpu, &rv, 1); this_cpu = get_cpu(); if (cpumask_test_cpu(this_cpu, mask)) __wrmsr_on_cpu(&rv); smp_call_function_many(mask, __wrmsr_on_cpu, &rv, 1); preempt_enable(); put_cpu(); } EXPORT_SYMBOL(wrmsr_on_cpus); Loading Loading
arch/x86/lib/msr.c +10 −16 Original line number Diff line number Diff line Loading @@ -89,16 +89,13 @@ void rdmsr_on_cpus(const cpumask_t *mask, u32 msr_no, struct msr *msrs) rv.msrs = msrs; rv.msr_no = msr_no; preempt_disable(); /* * FIXME: handle the CPU we're executing on separately for now until * smp_call_function_many has been fixed to not skip it. */ this_cpu = raw_smp_processor_id(); smp_call_function_single(this_cpu, __rdmsr_on_cpu, &rv, 1); this_cpu = get_cpu(); if (cpumask_test_cpu(this_cpu, mask)) __rdmsr_on_cpu(&rv); smp_call_function_many(mask, __rdmsr_on_cpu, &rv, 1); preempt_enable(); put_cpu(); } EXPORT_SYMBOL(rdmsr_on_cpus); Loading @@ -121,16 +118,13 @@ void wrmsr_on_cpus(const cpumask_t *mask, u32 msr_no, struct msr *msrs) rv.msrs = msrs; rv.msr_no = msr_no; preempt_disable(); /* * FIXME: handle the CPU we're executing on separately for now until * smp_call_function_many has been fixed to not skip it. */ this_cpu = raw_smp_processor_id(); smp_call_function_single(this_cpu, __wrmsr_on_cpu, &rv, 1); this_cpu = get_cpu(); if (cpumask_test_cpu(this_cpu, mask)) __wrmsr_on_cpu(&rv); smp_call_function_many(mask, __wrmsr_on_cpu, &rv, 1); preempt_enable(); put_cpu(); } EXPORT_SYMBOL(wrmsr_on_cpus); Loading