lkml.org 
[lkml]   [2014]   [Oct]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 16/24] perf evlist: Check that there is a thread_map when preparing a workload
    Date
    From: Arnaldo Carvalho de Melo <acme@redhat.com>

    The perf_evlist__prepare_workload expects a thread map to be in place
    so that it can store the pid of the workload being started, so check it
    and tell the developer about it instead of segfaulting.

    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Borislav Petkov <bp@suse.de>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Don Zickus <dzickus@redhat.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Jean Pihet <jean.pihet@linaro.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Paul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Stephane Eranian <eranian@google.com>
    Link: http://lkml.kernel.org/n/tip-jvlz2f264e7kpmhjmwltikqw@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    tools/perf/util/evlist.c | 8 +++++++-
    1 file changed, 7 insertions(+), 1 deletion(-)

    diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
    index 3cebc9a8d52e..5fc7bd42c803 100644
    --- a/tools/perf/util/evlist.c
    +++ b/tools/perf/util/evlist.c
    @@ -1276,8 +1276,14 @@ int perf_evlist__prepare_workload(struct perf_evlist *evlist, struct target *tar
    sigaction(SIGUSR1, &act, NULL);
    }

    - if (target__none(target))
    + if (target__none(target)) {
    + if (evlist->threads == NULL) {
    + fprintf(stderr, "FATAL: evlist->threads need to be set at this point (%s:%d).\n",
    + __func__, __LINE__);
    + goto out_close_pipes;
    + }
    evlist->threads->map[0] = evlist->workload.pid;
    + }

    close(child_ready_pipe[1]);
    close(go_pipe[0]);
    --
    1.9.3


    \
     
     \ /
      Last update: 2014-10-14 23:41    [W:4.231 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site