mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 14:41:02 +07:00
alloc_percpu: change percpu_ptr to per_cpu_ptr
Impact: cleanup There are two allocated per-cpu accessor macros with almost identical spelling. The original and far more popular is per_cpu_ptr (44 files), so change over the other 4 files. tj: kill percpu_ptr() and update UP too Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Cc: mingo@redhat.com Cc: lenb@kernel.org Cc: cpufreq@vger.kernel.org Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
6b588c18f8
commit
b36128c830
@ -601,7 +601,7 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
|
|||||||
if (!data)
|
if (!data)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
data->acpi_data = percpu_ptr(acpi_perf_data, cpu);
|
data->acpi_data = per_cpu_ptr(acpi_perf_data, cpu);
|
||||||
per_cpu(drv_data, cpu) = data;
|
per_cpu(drv_data, cpu) = data;
|
||||||
|
|
||||||
if (cpu_has(c, X86_FEATURE_CONSTANT_TSC))
|
if (cpu_has(c, X86_FEATURE_CONSTANT_TSC))
|
||||||
|
@ -516,12 +516,12 @@ int acpi_processor_preregister_performance(
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!performance || !percpu_ptr(performance, i)) {
|
if (!performance || !per_cpu_ptr(performance, i)) {
|
||||||
retval = -EINVAL;
|
retval = -EINVAL;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
pr->performance = percpu_ptr(performance, i);
|
pr->performance = per_cpu_ptr(performance, i);
|
||||||
cpumask_set_cpu(i, pr->performance->shared_cpu_map);
|
cpumask_set_cpu(i, pr->performance->shared_cpu_map);
|
||||||
if (acpi_processor_get_psd(pr)) {
|
if (acpi_processor_get_psd(pr)) {
|
||||||
retval = -EINVAL;
|
retval = -EINVAL;
|
||||||
|
@ -81,23 +81,13 @@ struct percpu_data {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#define __percpu_disguise(pdata) (struct percpu_data *)~(unsigned long)(pdata)
|
#define __percpu_disguise(pdata) (struct percpu_data *)~(unsigned long)(pdata)
|
||||||
/*
|
|
||||||
* Use this to get to a cpu's version of the per-cpu object dynamically
|
|
||||||
* allocated. Non-atomic access to the current CPU's version should
|
|
||||||
* probably be combined with get_cpu()/put_cpu().
|
|
||||||
*/
|
|
||||||
#define percpu_ptr(ptr, cpu) \
|
|
||||||
({ \
|
|
||||||
struct percpu_data *__p = __percpu_disguise(ptr); \
|
|
||||||
(__typeof__(ptr))__p->ptrs[(cpu)]; \
|
|
||||||
})
|
|
||||||
|
|
||||||
extern void *__percpu_alloc_mask(size_t size, gfp_t gfp, cpumask_t *mask);
|
extern void *__percpu_alloc_mask(size_t size, gfp_t gfp, cpumask_t *mask);
|
||||||
extern void percpu_free(void *__pdata);
|
extern void percpu_free(void *__pdata);
|
||||||
|
|
||||||
#else /* CONFIG_SMP */
|
#else /* CONFIG_SMP */
|
||||||
|
|
||||||
#define percpu_ptr(ptr, cpu) ({ (void)(cpu); (ptr); })
|
#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); (ptr); })
|
||||||
|
|
||||||
static __always_inline void *__percpu_alloc_mask(size_t size, gfp_t gfp, cpumask_t *mask)
|
static __always_inline void *__percpu_alloc_mask(size_t size, gfp_t gfp, cpumask_t *mask)
|
||||||
{
|
{
|
||||||
@ -122,6 +112,15 @@ static inline void percpu_free(void *__pdata)
|
|||||||
cpu_possible_map)
|
cpu_possible_map)
|
||||||
#define alloc_percpu(type) (type *)__alloc_percpu(sizeof(type))
|
#define alloc_percpu(type) (type *)__alloc_percpu(sizeof(type))
|
||||||
#define free_percpu(ptr) percpu_free((ptr))
|
#define free_percpu(ptr) percpu_free((ptr))
|
||||||
#define per_cpu_ptr(ptr, cpu) percpu_ptr((ptr), (cpu))
|
/*
|
||||||
|
* Use this to get to a cpu's version of the per-cpu object dynamically
|
||||||
|
* allocated. Non-atomic access to the current CPU's version should
|
||||||
|
* probably be combined with get_cpu()/put_cpu().
|
||||||
|
*/
|
||||||
|
#define per_cpu_ptr(ptr, cpu) \
|
||||||
|
({ \
|
||||||
|
struct percpu_data *__p = __percpu_disguise(ptr); \
|
||||||
|
(__typeof__(ptr))__p->ptrs[(cpu)]; \
|
||||||
|
})
|
||||||
|
|
||||||
#endif /* __LINUX_PERCPU_H */
|
#endif /* __LINUX_PERCPU_H */
|
||||||
|
@ -9472,7 +9472,7 @@ cpuacct_destroy(struct cgroup_subsys *ss, struct cgroup *cgrp)
|
|||||||
|
|
||||||
static u64 cpuacct_cpuusage_read(struct cpuacct *ca, int cpu)
|
static u64 cpuacct_cpuusage_read(struct cpuacct *ca, int cpu)
|
||||||
{
|
{
|
||||||
u64 *cpuusage = percpu_ptr(ca->cpuusage, cpu);
|
u64 *cpuusage = per_cpu_ptr(ca->cpuusage, cpu);
|
||||||
u64 data;
|
u64 data;
|
||||||
|
|
||||||
#ifndef CONFIG_64BIT
|
#ifndef CONFIG_64BIT
|
||||||
@ -9491,7 +9491,7 @@ static u64 cpuacct_cpuusage_read(struct cpuacct *ca, int cpu)
|
|||||||
|
|
||||||
static void cpuacct_cpuusage_write(struct cpuacct *ca, int cpu, u64 val)
|
static void cpuacct_cpuusage_write(struct cpuacct *ca, int cpu, u64 val)
|
||||||
{
|
{
|
||||||
u64 *cpuusage = percpu_ptr(ca->cpuusage, cpu);
|
u64 *cpuusage = per_cpu_ptr(ca->cpuusage, cpu);
|
||||||
|
|
||||||
#ifndef CONFIG_64BIT
|
#ifndef CONFIG_64BIT
|
||||||
/*
|
/*
|
||||||
@ -9587,7 +9587,7 @@ static void cpuacct_charge(struct task_struct *tsk, u64 cputime)
|
|||||||
ca = task_ca(tsk);
|
ca = task_ca(tsk);
|
||||||
|
|
||||||
for (; ca; ca = ca->parent) {
|
for (; ca; ca = ca->parent) {
|
||||||
u64 *cpuusage = percpu_ptr(ca->cpuusage, cpu);
|
u64 *cpuusage = per_cpu_ptr(ca->cpuusage, cpu);
|
||||||
*cpuusage += cputime;
|
*cpuusage += cputime;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -170,7 +170,7 @@ int __stop_machine(int (*fn)(void *), void *data, const struct cpumask *cpus)
|
|||||||
* doesn't hit this CPU until we're ready. */
|
* doesn't hit this CPU until we're ready. */
|
||||||
get_cpu();
|
get_cpu();
|
||||||
for_each_online_cpu(i) {
|
for_each_online_cpu(i) {
|
||||||
sm_work = percpu_ptr(stop_machine_work, i);
|
sm_work = per_cpu_ptr(stop_machine_work, i);
|
||||||
INIT_WORK(sm_work, stop_cpu);
|
INIT_WORK(sm_work, stop_cpu);
|
||||||
queue_work_on(i, stop_machine_wq, sm_work);
|
queue_work_on(i, stop_machine_wq, sm_work);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user