* 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).