lkml.org 
[lkml]   [2013]   [Dec]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v0 06/71] perf: Allow set-output for task contexts of different types
    Date
    From: Adrian Hunter <adrian.hunter@intel.com>

    Set-output must be limited to events that cannot be active on different
    cpus at the same time. Thus either the event cpu must be the same, or
    the event task must be the same. Current logic does not check the task
    directly but checks whether the perf_event_context is the same, however
    there are separate contexts for hardware and software events so in that
    case the perf_event_context is different even though the task is the same.
    This patch changes the logic to check the task directly.

    Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
    Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    ---
    kernel/events/core.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/kernel/events/core.c b/kernel/events/core.c
    index ca8a130..93d712d 100644
    --- a/kernel/events/core.c
    +++ b/kernel/events/core.c
    @@ -6982,7 +6982,8 @@ perf_event_set_output(struct perf_event *event, struct perf_event *output_event)
    /*
    * If its not a per-cpu rb, it must be the same task.
    */
    - if (output_event->cpu == -1 && output_event->ctx != event->ctx)
    + if (output_event->cpu == -1 &&
    + output_event->ctx->task != event->ctx->task)
    goto out;
    /*
    * XXX^2: that's all bollocks
    --
    1.8.5.1


    \
     
     \ /
      Last update: 2013-12-11 14:01    [W:4.127 / U:0.176 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site