* 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 an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.