* perf: remount of tracefs required
@ 2015-08-04 14:44 Milian Wolff
2015-08-04 15:27 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 4+ messages in thread
From: Milian Wolff @ 2015-08-04 14:44 UTC (permalink / raw)
To: linux-perf-users
Hey all,
on ArchLinux with Linux 4.1.3, perf 4.1.0, I get:
$ perf trace
Error: No permissions to read
/sys/kernel/debug/tracing/events/raw_syscalls/sys_(enter|exit)
Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug'
$ sudo mount -o remount,mode=755 /sys/kernel/debug
$ perf trace
Error: No permissions to read
/sys/kernel/debug/tracing/events/raw_syscalls/sys_(enter|exit)
Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug'
This is b/c Arch uses tracefs, and running
$ sudo mount -o remount,mode=755 /sys/kernel/debug/tracefs
fixes the issue for me. Could someone please amend the error message? Do I
also need to remount debugfs, or is tracefs sufficient for using more advanced
perf tools?
Thanks
--
Milian Wolff
mail@milianw.de
http://milianw.de
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: perf: remount of tracefs required
2015-08-04 14:44 perf: remount of tracefs required Milian Wolff
@ 2015-08-04 15:27 ` Arnaldo Carvalho de Melo
2015-08-05 14:17 ` Milian Wolff
0 siblings, 1 reply; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-08-04 15:27 UTC (permalink / raw)
To: Milian Wolff; +Cc: linux-perf-users
Em Tue, Aug 04, 2015 at 04:44:53PM +0200, Milian Wolff escreveu:
> on ArchLinux with Linux 4.1.3, perf 4.1.0, I get:
>
> $ perf trace
> Error: No permissions to read
> /sys/kernel/debug/tracing/events/raw_syscalls/sys_(enter|exit)
> Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug'
> $ sudo mount -o remount,mode=755 /sys/kernel/debug
> $ perf trace
> Error: No permissions to read
> /sys/kernel/debug/tracing/events/raw_syscalls/sys_(enter|exit)
> Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug'
>
> This is b/c Arch uses tracefs, and running
>
> $ sudo mount -o remount,mode=755 /sys/kernel/debug/tracefs
>
> fixes the issue for me. Could someone please amend the error message? Do I
> also need to remount debugfs, or is tracefs sufficient for using more advanced
> perf tools?
Well:
[acme@zoo linux]$ perf trace ls
Error: No permissions to read
/sys/kernel/debug/tracing/events/raw_syscalls/sys_(enter|exit)
Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug'
[acme@zoo linux]$ ls -la /sys/kernel/debug
ls: cannot open directory /sys/kernel/debug: Permission denied
[acme@zoo linux]$
So, I can't access debugfs, that is where the canonical mount point for
tracefs is, so the message can be read as well as: "hey, let me get to
where tracefs is".
Once that is done:
[acme@zoo linux]$ sudo mount -o remount,mode=755 /sys/kernel/debug
[sudo] password for acme:
[acme@zoo linux]$ ls -la /sys/kernel/debug
total 0
drwxr-xr-x. 32 root root 0 Aug 4 08:35 .
drwxr-xr-x. 10 root root 0 Aug 4 08:35 ..
drwxr-xr-x. 2 root root 0 Aug 4 08:35 acpi
<SNIP>
drwxr-xr-x. 2 root root 0 Aug 4 08:35 zswap
[acme@zoo linux]$ ls -la /sys/kernel/debug/tracing/
ls: cannot open directory /sys/kernel/debug/tracing/: Permission denied
[acme@zoo linux]$
So, if I try:
[acme@zoo linux]$ trace usleep 1
Error: No permissions to read
/sys/kernel/debug/tracing/events/raw_syscalls/sys_(enter|exit)
Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug/tracing'
[acme@zoo linux]$
It asks for that same remount to be done, this time for tracefs, once
that is done:
[acme@zoo linux]$ sudo mount -o remount,mode=755 /sys/kernel/debug/tracing
[acme@zoo linux]$ trace usleep 1
0.086 (0.001 ms): usleep/10122 brk( ) = 0x556309717000
0.101 (0.003 ms): usleep/10122 mmap(len: 4096, prot: READ|WRITE, flags: PRIVATE|ANONYMOUS, fd: -1) = 0x7f6f856ab000
<SNIP>
[acme@zoo linux]$
It works.
I guess what fixes what you report is this cset:
commit ab85785aa13c36440a91a8e9f7616357de411a1f
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date: Mon Jul 6 08:51:41 2015 -0300
tools lib api debugfs: Check for tracefs when reporting errors
Now that we have two mountpoints, one for debugfs and another, for
tracefs, we end up needing to check permissions for both, so, on
a system with default config we were always asking the user to
check the permission of the debugfs mountpoint, even when it was
already sufficient. Fix it.
-----------
[acme@zoo linux]$ git describe ab85785aa13c36440a91a8e9f7616357de411a1f
v4.2-rc1-17-gab85785aa13c
So, can you try running the perf tools, built from the latest 4.2-rc codebase
to see if it behaves as you expect?
- Arnaldo
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: perf: remount of tracefs required
2015-08-04 15:27 ` Arnaldo Carvalho de Melo
@ 2015-08-05 14:17 ` Milian Wolff
2015-08-05 14:35 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 4+ messages in thread
From: Milian Wolff @ 2015-08-05 14:17 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo; +Cc: linux-perf-users
On Tuesday 04 August 2015 12:27:46 Arnaldo Carvalho de Melo wrote:
> Em Tue, Aug 04, 2015 at 04:44:53PM +0200, Milian Wolff escreveu:
> > on ArchLinux with Linux 4.1.3, perf 4.1.0, I get:
> >
> > $ perf trace
> > Error: No permissions to read
> > /sys/kernel/debug/tracing/events/raw_syscalls/sys_(enter|exit)
> > Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug'
> > $ sudo mount -o remount,mode=755 /sys/kernel/debug
> > $ perf trace
> > Error: No permissions to read
> > /sys/kernel/debug/tracing/events/raw_syscalls/sys_(enter|exit)
> > Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug'
> >
> > This is b/c Arch uses tracefs, and running
> >
> > $ sudo mount -o remount,mode=755 /sys/kernel/debug/tracefs
> >
> > fixes the issue for me. Could someone please amend the error message? Do I
> > also need to remount debugfs, or is tracefs sufficient for using more
> > advanced perf tools?
>
> Well:
>
> [acme@zoo linux]$ perf trace ls
> Error: No permissions to read
> /sys/kernel/debug/tracing/events/raw_syscalls/sys_(enter|exit)
> Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug'
>
> [acme@zoo linux]$ ls -la /sys/kernel/debug
> ls: cannot open directory /sys/kernel/debug: Permission denied
> [acme@zoo linux]$
>
> So, I can't access debugfs, that is where the canonical mount point for
> tracefs is, so the message can be read as well as: "hey, let me get to
> where tracefs is".
Yes, at that point this message is correct.
> Once that is done:
>
> [acme@zoo linux]$ sudo mount -o remount,mode=755 /sys/kernel/debug
> [sudo] password for acme:
> [acme@zoo linux]$ ls -la /sys/kernel/debug
> total 0
> drwxr-xr-x. 32 root root 0 Aug 4 08:35 .
> drwxr-xr-x. 10 root root 0 Aug 4 08:35 ..
> drwxr-xr-x. 2 root root 0 Aug 4 08:35 acpi
> <SNIP>
> drwxr-xr-x. 2 root root 0 Aug 4 08:35 zswap
> [acme@zoo linux]$ ls -la /sys/kernel/debug/tracing/
> ls: cannot open directory /sys/kernel/debug/tracing/: Permission denied
> [acme@zoo linux]$
>
> So, if I try:
>
> [acme@zoo linux]$ trace usleep 1
> Error: No permissions to read
> /sys/kernel/debug/tracing/events/raw_syscalls/sys_(enter|exit)
> Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug/tracing'
This message I do not get, not even with my perf compiled from the v4.2-rc5
tag. And it is exactly what I was asking for.
<snip>
> I guess what fixes what you report is this cset:
>
> commit ab85785aa13c36440a91a8e9f7616357de411a1f
> Author: Arnaldo Carvalho de Melo <acme@redhat.com>
> Date: Mon Jul 6 08:51:41 2015 -0300
>
> tools lib api debugfs: Check for tracefs when reporting errors
>
> Now that we have two mountpoints, one for debugfs and another, for
> tracefs, we end up needing to check permissions for both, so, on
> a system with default config we were always asking the user to
> check the permission of the debugfs mountpoint, even when it was
> already sufficient. Fix it.
>
> -----------
>
> [acme@zoo linux]$ git describe ab85785aa13c36440a91a8e9f7616357de411a1f
> v4.2-rc1-17-gab85785aa13c
>
> So, can you try running the perf tools, built from the latest 4.2-rc
> codebase to see if it behaves as you expect?
This is not included in 4.2-rc5 as far as I can see:
$ git describe
v4.2-rc5-2-ga64d3e5
$ git show ab85785aa13c36440a91a8e9f7616357de411a1f
fatal: bad object ab85785aa13c36440a91a8e9f7616357de411a1f
$ git log --grep debugfs --oneline --author=Arnaldo
f816b3c tools lib fs debugfs: Check if debugfs is mounted when handling ENOENT
...
Thanks
--
Milian Wolff
mail@milianw.de
http://milianw.de
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: perf: remount of tracefs required
2015-08-05 14:17 ` Milian Wolff
@ 2015-08-05 14:35 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2015-08-05 14:35 UTC (permalink / raw)
To: Milian Wolff; +Cc: linux-perf-users
Em Wed, Aug 05, 2015 at 04:17:42PM +0200, Milian Wolff escreveu:
> On Tuesday 04 August 2015 12:27:46 Arnaldo Carvalho de Melo wrote:
> > [acme@zoo linux]$ trace usleep 1
> > Error: No permissions to read
> > /sys/kernel/debug/tracing/events/raw_syscalls/sys_(enter|exit)
> > Hint: Try 'sudo mount -o remount,mode=755 /sys/kernel/debug/tracing'
> This message I do not get, not even with my perf compiled from the v4.2-rc5
> tag. And it is exactly what I was asking for.
> <snip>
> > I guess what fixes what you report is this cset:
> > commit ab85785aa13c36440a91a8e9f7616357de411a1f
> > tools lib api debugfs: Check for tracefs when reporting errors
> > [acme@zoo linux]$ git describe ab85785aa13c36440a91a8e9f7616357de411a1f
> > v4.2-rc1-17-gab85785aa13c
> > So, can you try running the perf tools, built from the latest 4.2-rc
> > codebase to see if it behaves as you expect?
> This is not included in 4.2-rc5 as far as I can see:
> $ git describe
> v4.2-rc5-2-ga64d3e5
> $ git show ab85785aa13c36440a91a8e9f7616357de411a1f
> fatal: bad object ab85785aa13c36440a91a8e9f7616357de411a1f
> $ git log --grep debugfs --oneline --author=Arnaldo
> f816b3c tools lib fs debugfs: Check if debugfs is mounted when handling ENOENT
> ...
Oops, it is just in tip/perf/core, i.e. scheduled for 4.3 :-\ Wonder how
difficult would be to cherry-pick that into perf/urgent.
I.e. can you try doing something like:
git cherry-pick ab85785aa13c36440a91a8e9f7616357de411a1f
With a checked out v4.2-rc5, or better, torvalds/master, i.e. the top of
Linus's git tree? It is possible that one or more patches just before
this one, also in perf/core, may be needed.
If it is easy, perhaps we can push it for 4.2 final.
Ah, you may want to take a look at:
https://git.kernel.org/cgit/linux/kernel/git/acme/linux.git/log/?h=perf/core
To get from this:
[root@zoo ~]# trace -e newfstatat,unlinkat rm /tmp/foo
0.489 ( 0.011 ms): rm/8428 newfstatat(dfd: CWD, filename: 0x9153f8, statbuf: 0x915368, flag: 256 ) = 0
0.508 ( 0.010 ms): rm/8428 unlinkat(dfd: CWD, pathname: 0x9140c0) = 0
[root@zoo ~]#
After doing this:
[root@zoo ~]# perf probe 'vfs_getname=getname_flags:72 pathname=filename:string'
Added new event:
probe:vfs_getname (on getname_flags:72 with pathname=filename:string)
You can now use it in all perf tools, such as:
perf record -e probe:vfs_getname -aR sleep 1
To this:
[root@zoo ~]# trace -e newfstatat,unlinkat rm /tmp/foo
rm: cannot remove ‘/tmp/foo’: No such file or directory
0.503 ( 0.007 ms): rm/8480 newfstatat(dfd: CWD, filename: /tmp/foo, statbuf: 0x2370368, flag: 256) = -1 ENOENT No such file or directory
0.514 ( 0.004 ms): rm/8480 unlinkat(dfd: CWD, pathname: /tmp/foo) = -1 ENOENT No such file or directory
[root@zoo ~]#
Auto inserting that probe remains to be done, but for now can be done just once
per boot.
- Arnaldo
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-08-05 14:35 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-04 14:44 perf: remount of tracefs required Milian Wolff
2015-08-04 15:27 ` Arnaldo Carvalho de Melo
2015-08-05 14:17 ` Milian Wolff
2015-08-05 14:35 ` Arnaldo Carvalho de Melo
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).