Skip to contentSkip to conversation

perf trace: Beautify mount's first pathname arg

tip:perf/urgent tip-bot for Arnaldo Carvalho de Melo 1 participant 1 message Oct 31, 2018 perf events

lore
Share & tools
lore
#0 lore raw
Commit-ID:  23c07a23cbed389d0b9c7a06486574621df8d1a4
Gitweb:     https://git.kernel.org/tip/23c07a23cbed389d0b9c7a06486574621df8d1a4
Author:     Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Fri, 26 Oct 2018 13:51:45 -0300
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Tue, 30 Oct 2018 11:46:23 -0300

perf trace: Beautify mount's first pathname arg

The pathname beautifiers so far support just one augmented pathname per syscall, so do it just for mount's first arg, later this will get fixed.

With:

  # perf probe -l
  probe:vfs_getname    (on getname_flags:73@acme/git/linux/fs/namei.c with pathname)
  #

Later this will get added to augmented_syscalls.c (eBPF):

In one xterm:

  # perf trace -e mount,umount
  2687.331 ( 3.544 ms): mount/8892 mount(dev_name: /mnt, dir_name: 0x561f9ac184a0, type: 0x561f9ac1b170, flags: BIND) = 0
  3912.126 ( 8.807 ms): umount/8895 umount2(name: /mnt) = 0
  ^C#

In the other:

  $ sudo mount --bind /proc /mnt
  $ sudo umount /mnt
---
 tools/perf/builtin-trace.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
tools/perf/builtin-trace.c +2 -1
index d286f73ef2e5..dc8a6c4986ce 100644
@@ -727,7 +727,8 @@ static struct syscall_fmt {
 		   [2] = { .scnprintf = SCA_MMAP_PROT,	/* prot */ },
 		   [3] = { .scnprintf = SCA_MMAP_FLAGS,	/* flags */ }, }, },
 	{ .name	    = "mount",
-	  .arg = { [3] = { .scnprintf = SCA_MOUNT_FLAGS, /* flags */
+	  .arg = { [0] = { .scnprintf = SCA_FILENAME, /* dev_name */ },
+		   [3] = { .scnprintf = SCA_MOUNT_FLAGS, /* flags */
 			   .mask_val  = SCAMV_MOUNT_FLAGS, /* flags */ }, }, },
 	{ .name	    = "mprotect",
 	  .arg = { [0] = { .scnprintf = SCA_HEX,	/* start */ },