lkml.org 
[lkml]   [2015]   [Sep]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH] perf record: adding dummy event before mapping
Em Fri, Sep 18, 2015 at 02:42:04PM -0600, Mathieu Poirier escreveu:
> The parameters of function 'perf_evsel__open()' in
> 'record_open()' have been changed to use the evsel's cpus and
> threads rather than the evlist since:
>
> commit d988d5ee6478 ("perf evlist: Open event on evsel cpus and threads")
>
> This works fine for as long as all the events have been added to
> the evlist before function 'perf_evlist__create_maps()' is called
> since the latter will take care of pushing the cpus and threads of
> the evlist to each of the evsel in the list.
>
> As function 'auxtrace_record__options()' adds a "dummy:u" event to
> the evlist it is important that it runs before
> 'perf_evlist__create_maps()'.

What tree is this patch for? Please take a look at tip/master, there are
patches there that should address this issue, please report if not.

Namely, hey, it was already merged by Linus, see:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/tools

There is a set of very small patches by Adrian Hunter fixing the setting
of evsel->{cpus,threads}

Can you check with Linus's git repo? I bet you tried with 4.3-rc1?

- Arnaldo

> Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
> ---
> tools/perf/builtin-record.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
> index 142eeb341b29..630a7a8e3970 100644
> --- a/tools/perf/builtin-record.c
> +++ b/tools/perf/builtin-record.c
> @@ -1183,14 +1183,14 @@ int cmd_record(int argc, const char **argv, const char *prefix __maybe_unused)
> goto out_symbol_exit;
> }
>
> - err = -ENOMEM;
> - if (perf_evlist__create_maps(rec->evlist, &rec->opts.target) < 0)
> - usage_with_options(record_usage, record_options);
> -
> err = auxtrace_record__options(rec->itr, rec->evlist, &rec->opts);
> if (err)
> goto out_symbol_exit;
>
> + err = -ENOMEM;
> + if (perf_evlist__create_maps(rec->evlist, &rec->opts.target) < 0)
> + usage_with_options(record_usage, record_options);
> +
> if (record_opts__config(&rec->opts)) {
> err = -EINVAL;
> goto out_symbol_exit;
> --
> 1.9.1


\
 
 \ /
  Last update: 2015-09-18 23:01    [W:0.035 / U:0.320 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site