|
@@ -239,7 +239,7 @@ static void perf_duration_warn(struct irq_work *w)
|
|
|
u64 avg_local_sample_len;
|
|
|
u64 local_samples_len;
|
|
|
|
|
|
- local_samples_len = __get_cpu_var(running_sample_length);
|
|
|
+ local_samples_len = __this_cpu_read(running_sample_length);
|
|
|
avg_local_sample_len = local_samples_len/NR_ACCUMULATED_SAMPLES;
|
|
|
|
|
|
printk_ratelimited(KERN_WARNING
|
|
@@ -261,10 +261,10 @@ void perf_sample_event_took(u64 sample_len_ns)
|
|
|
return;
|
|
|
|
|
|
/* decay the counter by 1 average sample */
|
|
|
- local_samples_len = __get_cpu_var(running_sample_length);
|
|
|
+ local_samples_len = __this_cpu_read(running_sample_length);
|
|
|
local_samples_len -= local_samples_len/NR_ACCUMULATED_SAMPLES;
|
|
|
local_samples_len += sample_len_ns;
|
|
|
- __get_cpu_var(running_sample_length) = local_samples_len;
|
|
|
+ __this_cpu_write(running_sample_length, local_samples_len);
|
|
|
|
|
|
/*
|
|
|
* note: this will be biased artifically low until we have
|
|
@@ -877,7 +877,7 @@ static DEFINE_PER_CPU(struct list_head, rotation_list);
|
|
|
static void perf_pmu_rotate_start(struct pmu *pmu)
|
|
|
{
|
|
|
struct perf_cpu_context *cpuctx = this_cpu_ptr(pmu->pmu_cpu_context);
|
|
|
- struct list_head *head = &__get_cpu_var(rotation_list);
|
|
|
+ struct list_head *head = this_cpu_ptr(&rotation_list);
|
|
|
|
|
|
WARN_ON(!irqs_disabled());
|
|
|
|
|
@@ -2389,7 +2389,7 @@ void __perf_event_task_sched_out(struct task_struct *task,
|
|
|
* to check if we have to switch out PMU state.
|
|
|
* cgroup event are system-wide mode only
|
|
|
*/
|
|
|
- if (atomic_read(&__get_cpu_var(perf_cgroup_events)))
|
|
|
+ if (atomic_read(this_cpu_ptr(&perf_cgroup_events)))
|
|
|
perf_cgroup_sched_out(task, next);
|
|
|
}
|
|
|
|
|
@@ -2632,11 +2632,11 @@ void __perf_event_task_sched_in(struct task_struct *prev,
|
|
|
* to check if we have to switch in PMU state.
|
|
|
* cgroup event are system-wide mode only
|
|
|
*/
|
|
|
- if (atomic_read(&__get_cpu_var(perf_cgroup_events)))
|
|
|
+ if (atomic_read(this_cpu_ptr(&perf_cgroup_events)))
|
|
|
perf_cgroup_sched_in(prev, task);
|
|
|
|
|
|
/* check for system-wide branch_stack events */
|
|
|
- if (atomic_read(&__get_cpu_var(perf_branch_stack_events)))
|
|
|
+ if (atomic_read(this_cpu_ptr(&perf_branch_stack_events)))
|
|
|
perf_branch_stack_sched_in(prev, task);
|
|
|
}
|
|
|
|
|
@@ -2891,7 +2891,7 @@ bool perf_event_can_stop_tick(void)
|
|
|
|
|
|
void perf_event_task_tick(void)
|
|
|
{
|
|
|
- struct list_head *head = &__get_cpu_var(rotation_list);
|
|
|
+ struct list_head *head = this_cpu_ptr(&rotation_list);
|
|
|
struct perf_cpu_context *cpuctx, *tmp;
|
|
|
struct perf_event_context *ctx;
|
|
|
int throttled;
|
|
@@ -5671,7 +5671,7 @@ static void do_perf_sw_event(enum perf_type_id type, u32 event_id,
|
|
|
struct perf_sample_data *data,
|
|
|
struct pt_regs *regs)
|
|
|
{
|
|
|
- struct swevent_htable *swhash = &__get_cpu_var(swevent_htable);
|
|
|
+ struct swevent_htable *swhash = this_cpu_ptr(&swevent_htable);
|
|
|
struct perf_event *event;
|
|
|
struct hlist_head *head;
|
|
|
|
|
@@ -5690,7 +5690,7 @@ end:
|
|
|
|
|
|
int perf_swevent_get_recursion_context(void)
|
|
|
{
|
|
|
- struct swevent_htable *swhash = &__get_cpu_var(swevent_htable);
|
|
|
+ struct swevent_htable *swhash = this_cpu_ptr(&swevent_htable);
|
|
|
|
|
|
return get_recursion_context(swhash->recursion);
|
|
|
}
|
|
@@ -5698,7 +5698,7 @@ EXPORT_SYMBOL_GPL(perf_swevent_get_recursion_context);
|
|
|
|
|
|
inline void perf_swevent_put_recursion_context(int rctx)
|
|
|
{
|
|
|
- struct swevent_htable *swhash = &__get_cpu_var(swevent_htable);
|
|
|
+ struct swevent_htable *swhash = this_cpu_ptr(&swevent_htable);
|
|
|
|
|
|
put_recursion_context(swhash->recursion, rctx);
|
|
|
}
|
|
@@ -5727,7 +5727,7 @@ static void perf_swevent_read(struct perf_event *event)
|
|
|
|
|
|
static int perf_swevent_add(struct perf_event *event, int flags)
|
|
|
{
|
|
|
- struct swevent_htable *swhash = &__get_cpu_var(swevent_htable);
|
|
|
+ struct swevent_htable *swhash = this_cpu_ptr(&swevent_htable);
|
|
|
struct hw_perf_event *hwc = &event->hw;
|
|
|
struct hlist_head *head;
|
|
|
|