percpu: add missing markups in arch/x86/lib/msr*
PATCH 5/5 percpu: add missing markups in arch/x86/lib/msr*
Signed-off-by Namhyung Kim <[email protected]>
--- arch/x86/include/asm/msr.h | 14 +++++++------- arch/x86/lib/msr-smp.c | 8 +++++--- arch/x86/lib/msr.c | 6 +++--- 3 files changed, 15 insertions(+), 13 deletions(-)
arch/x86/include/asm/msr.h +7 -7
@@ -30,7 +30,7 @@ struct msr {struct msr_info {u32 msr_no;struct msr reg; -struct msr *msrs; +struct msr __percpu *msrs;int err; };
@@ -256,14 +256,14 @@ do { \#define write_rdtscp_aux (val) wrmsr(MSR_TSC_AUX, (val), 0) -struct msr *msrs_alloc (void ); -void msrs_free (struct msr *msrs); +struct msr __percpu *msrs_alloc (void ); +void msrs_free (struct msr __percpu *msrs);#ifdef CONFIG_SMP int rdmsr_on_cpu (unsigned int cpu,u32 msr_no,u32 *l,u32 *h);int wrmsr_on_cpu (unsigned int cpu,u32 msr_no,u32 l,u32 h); -void rdmsr_on_cpus (const struct cpumask *mask,u32 msr_no,struct msr *msrs); -void wrmsr_on_cpus (const struct cpumask *mask,u32 msr_no,struct msr *msrs); +void rdmsr_on_cpus (const struct cpumask *mask,u32 msr_no,struct msr __percpu *msrs); +void wrmsr_on_cpus (const struct cpumask *mask,u32 msr_no,struct msr __percpu *msrs);int rdmsr_safe_on_cpu (unsigned int cpu,u32 msr_no,u32 *l,u32 *h);int wrmsr_safe_on_cpu (unsigned int cpu,u32 msr_no,u32 l,u32 h);int rdmsr_safe_regs_on_cpu (unsigned int cpu,u32 regs[8 ]);
@@ -280,12 +280,12 @@ static inline int wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)return 0 ; }static inline void rdmsr_on_cpus (const struct cpumask *m,u32 msr_no, -struct msr *msrs) +struct msr __percpu *msrs) {rdmsr_on_cpu (0 , msr_no, &(msrs[0 ].l), &(msrs[0 ].h)); }static inline void wrmsr_on_cpus (const struct cpumask *m,u32 msr_no, -struct msr *msrs) +struct msr __percpu *msrs) {wrmsr_on_cpu (0 , msr_no, msrs[0 ].l, msrs[0 ].h); }
arch/x86/lib/msr-smp.c +5 -3
@@ -64,7 +64,7 @@ int wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)EXPORT_SYMBOL (wrmsr_on_cpu);static void __rwmsr_on_cpus (const struct cpumask *mask,u32 msr_no, -struct msr *msrs, +struct msr __percpu *msrs,void (*msr_func) (void *info)) {struct msr_info rv;
@@ -91,7 +91,8 @@ static void __rwmsr_on_cpus(const struct cpumask *mask, u32 msr_no,* @msrs: array of MSR values * */ -void rdmsr_on_cpus (const struct cpumask *mask,u32 msr_no,struct msr *msrs) +void rdmsr_on_cpus (const struct cpumask *mask,u32 msr_no, +struct msr __percpu *msrs) {__rwmsr_on_cpus (mask, msr_no, msrs, __rdmsr_on_cpu); }
@@ -105,7 +106,8 @@ EXPORT_SYMBOL(rdmsr_on_cpus);* @msrs: array of MSR values * */ -void wrmsr_on_cpus (const struct cpumask *mask,u32 msr_no,struct msr *msrs) +void wrmsr_on_cpus (const struct cpumask *mask,u32 msr_no, +struct msr __percpu *msrs) {__rwmsr_on_cpus (mask, msr_no, msrs, __wrmsr_on_cpu); }
arch/x86/lib/msr.c +3 -3
@@ -2,9 +2,9 @@#include <linux/preempt.h> #include <asm/msr.h> -struct msr *msrs_alloc (void ) +struct msr __percpu *msrs_alloc (void ) { -struct msr *msrs =NULL ; +struct msr __percpu *msrs =NULL ; msrs = alloc_percpu(struct msr);if (!msrs) {
@@ -16,7 +16,7 @@ struct msr *msrs_alloc(void) }EXPORT_SYMBOL (msrs_alloc); -void msrs_free (struct msr *msrs) +void msrs_free (struct msr __percpu *msrs) {free_percpu (msrs); }
Signature · 1 line
1.7.0.4
PATCH 1/1 x86: add missing __percpu markups in arch/x86/lib/msr*
From: Namhyung Kim <[email protected]>
msr_info->msrs is a percpu pointer but was missing __percpu markup. Add it.
Signed-off-by Namhyung Kim <[email protected]>
Acked-by Tejun Heo <[email protected]>
---
Thomas, can you please route this through x86 tree?
Thanks.
arch/x86/include/asm/msr.h | 14 +++++++------- arch/x86/lib/msr-smp.c | 8 +++++--- arch/x86/lib/msr.c | 6 +++--- 3 files changed, 15 insertions(+), 13 deletions(-)
arch/x86/include/asm/msr.h +7 -7
@@ -30,7 +30,7 @@ struct msr {struct msr_info {u32 msr_no;struct msr reg; -struct msr *msrs; +struct msr __percpu *msrs;int err; };
@@ -256,14 +256,14 @@ do {#define write_rdtscp_aux (val) wrmsr(MSR_TSC_AUX, (val), 0) -struct msr *msrs_alloc (void ); -void msrs_free (struct msr *msrs); +struct msr __percpu *msrs_alloc (void ); +void msrs_free (struct msr __percpu *msrs);#ifdef CONFIG_SMP int rdmsr_on_cpu (unsigned int cpu,u32 msr_no,u32 *l,u32 *h);int wrmsr_on_cpu (unsigned int cpu,u32 msr_no,u32 l,u32 h); -void rdmsr_on_cpus (const struct cpumask *mask,u32 msr_no,struct msr *msrs); -void wrmsr_on_cpus (const struct cpumask *mask,u32 msr_no,struct msr *msrs); +void rdmsr_on_cpus (const struct cpumask *mask,u32 msr_no,struct msr __percpu *msrs); +void wrmsr_on_cpus (const struct cpumask *mask,u32 msr_no,struct msr __percpu *msrs);int rdmsr_safe_on_cpu (unsigned int cpu,u32 msr_no,u32 *l,u32 *h);int wrmsr_safe_on_cpu (unsigned int cpu,u32 msr_no,u32 l,u32 h);int rdmsr_safe_regs_on_cpu (unsigned int cpu,u32 regs[8 ]);
@@ -280,12 +280,12 @@ static inline int wrmsr_on_cpu(unsignedreturn 0 ; }static inline void rdmsr_on_cpus (const struct cpumask *m,u32 msr_no, -struct msr *msrs) +struct msr __percpu *msrs) {rdmsr_on_cpu (0 , msr_no, &(msrs[0 ].l), &(msrs[0 ].h)); }static inline void wrmsr_on_cpus (const struct cpumask *m,u32 msr_no, -struct msr *msrs) +struct msr __percpu *msrs) {wrmsr_on_cpu (0 , msr_no, msrs[0 ].l, msrs[0 ].h); }
arch/x86/lib/msr-smp.c +5 -3
@@ -64,7 +64,7 @@ int wrmsr_on_cpu(unsigned int cpu, u32 mEXPORT_SYMBOL (wrmsr_on_cpu);static void __rwmsr_on_cpus (const struct cpumask *mask,u32 msr_no, -struct msr *msrs, +struct msr __percpu *msrs,void (*msr_func) (void *info)) {struct msr_info rv;
@@ -91,7 +91,8 @@ static void __rwmsr_on_cpus(const struct* @msrs: array of MSR values * */ -void rdmsr_on_cpus (const struct cpumask *mask,u32 msr_no,struct msr *msrs) +void rdmsr_on_cpus (const struct cpumask *mask,u32 msr_no, +struct msr __percpu *msrs) {__rwmsr_on_cpus (mask, msr_no, msrs, __rdmsr_on_cpu); }
@@ -105,7 +106,8 @@ EXPORT_SYMBOL(rdmsr_on_cpus);* @msrs: array of MSR values * */ -void wrmsr_on_cpus (const struct cpumask *mask,u32 msr_no,struct msr *msrs) +void wrmsr_on_cpus (const struct cpumask *mask,u32 msr_no, +struct msr __percpu *msrs) {__rwmsr_on_cpus (mask, msr_no, msrs, __wrmsr_on_cpu); }
arch/x86/lib/msr.c +3 -3
@@ -2,9 +2,9 @@#include <linux/preempt.h> #include <asm/msr.h> -struct msr *msrs_alloc (void ) +struct msr __percpu *msrs_alloc (void ) { -struct msr *msrs =NULL ; +struct msr __percpu *msrs =NULL ; msrs = alloc_percpu(struct msr);if (!msrs) {
@@ -16,7 +16,7 @@ struct msr *msrs_alloc(void) }EXPORT_SYMBOL (msrs_alloc); -void msrs_free (struct msr *msrs) +void msrs_free (struct msr __percpu *msrs) {free_percpu (msrs); }