aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/perf_event.c
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2010-01-17 06:15:31 -0500
committerFrederic Weisbecker <fweisbec@gmail.com>2010-01-17 07:09:51 -0500
commit7defb0f879bbcfe29e3c6f29d685d4f29b7a0700 (patch)
tree4fa8b96fb0e52cebf90f26911929a2c3e54bde49 /kernel/perf_event.c
parent5b0311e1f2464547fc6f17a82d7ea2538c8c7a70 (diff)
perf: Don't schedule out/in pinned events on task tick
We don't need to schedule in/out pinned events on task tick, now that pinned and flexible groups can be scheduled separately. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Ingo Molnar <mingo@elte.hu> Cc: Arnaldo Carvalho de Melo <acme@infradead.org>
Diffstat (limited to 'kernel/perf_event.c')
-rw-r--r--kernel/perf_event.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index bfc4ee015c87..a90ae694cbc1 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -1525,17 +1525,17 @@ void perf_event_task_tick(struct task_struct *curr)
1525 if (ctx) 1525 if (ctx)
1526 perf_ctx_adjust_freq(ctx); 1526 perf_ctx_adjust_freq(ctx);
1527 1527
1528 cpu_ctx_sched_out(cpuctx, EVENT_ALL); 1528 cpu_ctx_sched_out(cpuctx, EVENT_FLEXIBLE);
1529 if (ctx) 1529 if (ctx)
1530 task_ctx_sched_out(ctx, EVENT_ALL); 1530 task_ctx_sched_out(ctx, EVENT_FLEXIBLE);
1531 1531
1532 rotate_ctx(&cpuctx->ctx); 1532 rotate_ctx(&cpuctx->ctx);
1533 if (ctx) 1533 if (ctx)
1534 rotate_ctx(ctx); 1534 rotate_ctx(ctx);
1535 1535
1536 cpu_ctx_sched_in(cpuctx, EVENT_ALL); 1536 cpu_ctx_sched_in(cpuctx, EVENT_FLEXIBLE);
1537 if (ctx) 1537 if (ctx)
1538 task_ctx_sched_in(curr, EVENT_ALL); 1538 task_ctx_sched_in(curr, EVENT_FLEXIBLE);
1539} 1539}
1540 1540
1541static int event_enable_on_exec(struct perf_event *event, 1541static int event_enable_on_exec(struct perf_event *event,