Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 18e60939 authored by Nelson Elhage's avatar Nelson Elhage Committed by Arnaldo Carvalho de Melo
Browse files

perf: builtin-record: Provide advice if mmap'ing fails with EPERM.

This failure is most likely due to running up against the
kernel.perf_event_mlock_kb sysctl, so we can tell the user what to do to
fix the issue.

Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1324301972-22740-3-git-send-email-nelhage@nelhage.com


Signed-off-by: default avatarNelson Elhage <nelhage@nelhage.com>
Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent f41612f4
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -272,8 +272,15 @@ static void perf_record__open(struct perf_record *rec)
		exit(-1);
	}

	if (perf_evlist__mmap(evlist, opts->mmap_pages, false) < 0)
	if (perf_evlist__mmap(evlist, opts->mmap_pages, false) < 0) {
		if (errno == EPERM)
			die("Permission error mapping pages.\n"
			    "Consider increasing "
			    "/proc/sys/kernel/perf_event_mlock_kb,\n"
			    "or try again with a smaller value of -m/--mmap_pages.\n"
			    "(current value: %d)\n", opts->mmap_pages);
		die("failed to mmap with %d (%s)\n", errno, strerror(errno));
	}

	if (rec->file_new)
		session->evlist = evlist;