Commit b82914ce authored by Ingo Molnar's avatar Ingo Molnar

perf_counter: round-robin per-CPU counters too

This used to be unstable when we had the rq->lock dependencies,
but now that they are that of the past we can turn on percpu
counter RR too.

[ Impact: handle counter over-commit for per-CPU counters too ]

LKML-Reference: <new-submission>
Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent dab6f6a3
...@@ -1069,17 +1069,13 @@ void perf_counter_task_tick(struct task_struct *curr, int cpu) ...@@ -1069,17 +1069,13 @@ void perf_counter_task_tick(struct task_struct *curr, int cpu)
{ {
struct perf_cpu_context *cpuctx = &per_cpu(perf_cpu_context, cpu); struct perf_cpu_context *cpuctx = &per_cpu(perf_cpu_context, cpu);
struct perf_counter_context *ctx = &curr->perf_counter_ctx; struct perf_counter_context *ctx = &curr->perf_counter_ctx;
const int rotate_percpu = 0;
if (rotate_percpu)
perf_counter_cpu_sched_out(cpuctx); perf_counter_cpu_sched_out(cpuctx);
perf_counter_task_sched_out(curr, cpu); perf_counter_task_sched_out(curr, cpu);
if (rotate_percpu)
rotate_ctx(&cpuctx->ctx); rotate_ctx(&cpuctx->ctx);
rotate_ctx(ctx); rotate_ctx(ctx);
if (rotate_percpu)
perf_counter_cpu_sched_in(cpuctx, cpu); perf_counter_cpu_sched_in(cpuctx, cpu);
perf_counter_task_sched_in(curr, cpu); perf_counter_task_sched_in(curr, cpu);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment