perf evlist: Fixup brown paper bag on "hint" for --mmap-pages cmdline arg
tip-bot for Arnaldo Carvalho de Melo
merge botCommit-ID: 0a2138b28fd56eeb3852133691c881409885ee3f Gitweb: http://git.kernel.org/tip/0a2138b28fd56eeb3852133691c881409885ee3f Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Fri, 12 Dec 2014 16:07:47 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Tue, 16 Dec 2014 13:38:26 -0300
perf evlist: Fixup brown paper bag on "hint" for --mmap-pages cmdline arg
When failing due to asking for a number of mmap pages that is more than the max, it was suggesting that an even bigger number of mmap pages should be specified, doh, au contraire!
Before:
[acme@ssdandy linux]$ trace -m 128 usleep 1
Error: Operation not permitted.
Hint: Check /proc/sys/kernel/perf_event_mlock_kb (516 kB) setting.
Hint: Tried using 516 kB.
Hint: Try using a bigger -m/--mmap-pages value.
[acme@ssdandy linux]$
After:
[acme@ssdandy linux]$ trace -m 128 usleep 1
Error: Operation not permitted.
Hint: Check /proc/sys/kernel/perf_event_mlock_kb (516 kB) setting.
Hint: Tried using 516 kB.
Hint: Try using a smaller -m/--mmap-pages value.
[acme@ssdandy linux]$
And to (really) clarify what happens above, when what the user requests is <= max and even then it fails, a changeset is being made to tell that this is a per user limit, not per process (in the above example there was another 'perf trace' running for this user, which was using all the pages it could use).
--- tools/perf/util/evlist.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
tools/perf/util/evlist.c +1 -1
@@ -1495,7 +1495,7 @@ int perf_evlist__strerror_mmap(struct perf_evlist *evlist, int err, char *buf, sscnprintf (buf, size,"Error:\t%s.\n" "Hint:\tCheck /proc/sys/kernel/perf_event_mlock_kb (%d kB) setting.\n" "Hint:\tTried using %zd kB.\n" -"Hint:\tTry using a bigger -m/--mmap-pages value." , +"Hint:\tTry using a smaller -m/--mmap-pages value." , emsg, value, evlist->mmap_len /1024 );break ;default :