Skip to contentSkip to conversation

perf evlist: Fixup brown paper bag on "hint" for --mmap-pages cmdline arg

tip:perf/urgent tip-bot for Arnaldo Carvalho de Melo 1 participant 1 message Dec 18, 2014 perf events

lore
Share & tools
lore
#0 lore raw
Commit-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).

Cc Adrian Hunter <[email protected]>
Cc Borislav Petkov <[email protected]>
Cc David Ahern <[email protected]>
Cc Don Zickus <[email protected]>
Cc Frederic Weisbecker <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Mike Galbraith <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Paul Mackerras <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Stephane Eranian <[email protected]>
---
 tools/perf/util/evlist.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
tools/perf/util/evlist.c +1 -1
index bb5dfc5..de7515d 100644
@@ -1495,7 +1495,7 @@ int perf_evlist__strerror_mmap(struct perf_evlist *evlist, int err, char *buf, s
 		scnprintf(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: