Skip to content

Commit

Permalink
perf: Allow the PMU driver to choose the CPU on which to install events
Browse files Browse the repository at this point in the history
Allow the pmu->event_init callback to change event->cpu, so the PMU driver
can choose the CPU on which to install events.

Signed-off-by: Zheng Yan <zheng.z.yan@intel.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1339741902-8449-4-git-send-email-zheng.z.yan@intel.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
  • Loading branch information
Yan, Zheng authored and Ingo Molnar committed Jun 18, 2012
1 parent fbfc623 commit e2d37cd
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions kernel/events/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -6306,7 +6306,7 @@ SYSCALL_DEFINE5(perf_event_open,
/*
* Get the target context (task or percpu):
*/
ctx = find_get_context(pmu, task, cpu);
ctx = find_get_context(pmu, task, event->cpu);
if (IS_ERR(ctx)) {
err = PTR_ERR(ctx);
goto err_alloc;
Expand Down Expand Up @@ -6379,16 +6379,16 @@ SYSCALL_DEFINE5(perf_event_open,
mutex_lock(&ctx->mutex);

if (move_group) {
perf_install_in_context(ctx, group_leader, cpu);
perf_install_in_context(ctx, group_leader, event->cpu);
get_ctx(ctx);
list_for_each_entry(sibling, &group_leader->sibling_list,
group_entry) {
perf_install_in_context(ctx, sibling, cpu);
perf_install_in_context(ctx, sibling, event->cpu);
get_ctx(ctx);
}
}

perf_install_in_context(ctx, event, cpu);
perf_install_in_context(ctx, event, event->cpu);
++ctx->generation;
perf_unpin_context(ctx);
mutex_unlock(&ctx->mutex);
Expand Down

0 comments on commit e2d37cd

Please sign in to comment.