Re: [PATCH] perf: Add vm_ops->name call for mmap event name retrieval

From: Peter Zijlstra
Date: Mon Jul 14 2014 - 12:10:13 EST


On Mon, Jul 14, 2014 at 05:57:19PM +0200, Jiri Olsa wrote:
> Following patch added another way to get mmap name:
> 78d683e mm, fs: Add vm_ops->name as an alternative to arch_vma_name

Please add to your .gitconfig:

[core]
abbrev = 12

Also, you failed to CC the two people involved in that.

> The vdso vma mapping already switch to this and we no longer
> get vdso name via arch_vma_name function. Adding this way to
> the perf mmap event name retrieval code.
>
> Caught this via perf test:
>
> $ sudo ./perf test -v 7
> 7: Validate PERF_RECORD_* events & perf_sample fields :
> --- start ---
>
> SNIP
>
> PERF_RECORD_MMAP for [vdso] missing!
> test child finished with 255
> ---- end ----
> Validate PERF_RECORD_* events & perf_sample fields: FAILED!
>
> Cc: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
> Cc: Corey Ashford <cjashfor@xxxxxxxxxxxxxxxxxx>
> Cc: David Ahern <dsahern@xxxxxxxxx>
> Cc: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Namhyung Kim <namhyung@xxxxxxxxxx>
> Cc: Paul Mackerras <paulus@xxxxxxxxx>
> Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
> ---
> kernel/events/core.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/kernel/events/core.c b/kernel/events/core.c
> index 67e3b9c..4799676 100644
> --- a/kernel/events/core.c
> +++ b/kernel/events/core.c
> @@ -5266,6 +5266,12 @@ static void perf_event_mmap_event(struct perf_mmap_event *mmap_event)
>
> goto got_name;
> } else {
> + if (vma->vm_ops && vma->vm_ops->name) {
> + name = (char *) vma->vm_ops->name(vma);
> + if (name)
> + goto cpy_name;
> + }
> +
> name = (char *)arch_vma_name(vma);
> if (name)
> goto cpy_name;
> --
> 1.8.3.1
>

Attachment: pgp6peW5mKeQW.pgp
Description: PGP signature