lkml.org 
[lkml]   [2012]   [Jun]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:perf/core] perf: Allow the PMU driver to choose the CPU on which to install events
    Commit-ID:  e2d37cd213dcc0aeb3db4b37b9bd1710fe36fbf7
    Gitweb: http://git.kernel.org/tip/e2d37cd213dcc0aeb3db4b37b9bd1710fe36fbf7
    Author: Yan, Zheng <zheng.z.yan@intel.com>
    AuthorDate: Fri, 15 Jun 2012 14:31:32 +0800
    Committer: Ingo Molnar <mingo@kernel.org>
    CommitDate: Mon, 18 Jun 2012 12:13:21 +0200

    perf: Allow the PMU driver to choose the CPU on which to install events

    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>
    ---
    kernel/events/core.c | 8 ++++----
    1 files changed, 4 insertions(+), 4 deletions(-)

    diff --git a/kernel/events/core.c b/kernel/events/core.c
    index 31d182e..fa36a39 100644
    --- a/kernel/events/core.c
    +++ b/kernel/events/core.c
    @@ -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;
    @@ -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);

    \
     
     \ /
      Last update: 2012-06-20 13:41    [W:0.026 / U:1.372 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site