Merge "BACKPORT: perf tools: Document the perf sysctls"

This commit is contained in:
Linux Build Service Account 2016-09-19 23:27:57 -07:00 committed by Gerrit - the friendly Code Review server
commit f6ee052d80
2 changed files with 34 additions and 19 deletions

View file

@ -60,6 +60,7 @@ show up in /proc/sys/kernel:
- panic_on_stackoverflow - panic_on_stackoverflow
- panic_on_unrecovered_nmi - panic_on_unrecovered_nmi
- panic_on_warn - panic_on_warn
- perf_event_paranoid
- pid_max - pid_max
- powersave-nap [ PPC only ] - powersave-nap [ PPC only ]
- printk - printk
@ -599,19 +600,6 @@ This file shows up if CONFIG_DEBUG_STACKOVERFLOW is enabled.
============================================================== ==============================================================
panic_on_unrecovered_nmi:
The default Linux behaviour on an NMI of either memory or unknown is
to continue operation. For many environments such as scientific
computing it is preferable that the box is taken out and the error
dealt with than an uncorrected parity/ECC error get propagated.
A small number of systems do generate NMI's for bizarre random reasons
such as power management so the default is off. That sysctl works like
the existing panic controls already in that directory.
==============================================================
panic_on_warn: panic_on_warn:
Calls panic() in the WARN() path when set to 1. This is useful to avoid Calls panic() in the WARN() path when set to 1. This is useful to avoid
@ -649,6 +637,30 @@ allowed to execute.
============================================================== ==============================================================
panic_on_unrecovered_nmi:
The default Linux behaviour on an NMI of either memory or unknown is
to continue operation. For many environments such as scientific
computing it is preferable that the box is taken out and the error
dealt with than an uncorrected parity/ECC error get propagated.
A small number of systems do generate NMI's for bizarre random reasons
such as power management so the default is off. That sysctl works like
the existing panic controls already in that directory.
==============================================================
perf_event_paranoid:
Controls use of the performance events system by unprivileged
users (without CAP_SYS_ADMIN). The default value is 1.
-1: Allow use of (almost) all events by all users
>=0: Disallow raw tracepoint access by users without CAP_IOC_LOCK
>=1: Disallow CPU event access by users without CAP_SYS_ADMIN
>=2: Disallow kernel profiling by users without CAP_SYS_ADMIN
==============================================================
pid_max: pid_max:

View file

@ -2313,12 +2313,15 @@ int perf_evsel__open_strerror(struct perf_evsel *evsel, struct target *target,
case EPERM: case EPERM:
case EACCES: case EACCES:
return scnprintf(msg, size, return scnprintf(msg, size,
"You may not have permission to collect %sstats.\n" "You may not have permission to collect %sstats.\n\n"
"Consider tweaking /proc/sys/kernel/perf_event_paranoid:\n" "Consider tweaking /proc/sys/kernel/perf_event_paranoid,\n"
" -1 - Not paranoid at all\n" "which controls use of the performance events system by\n"
" 0 - Disallow raw tracepoint access for unpriv\n" "unprivileged users (without CAP_SYS_ADMIN).\n\n"
" 1 - Disallow cpu events for unpriv\n" "The default value is 1:\n\n"
" 2 - Disallow kernel profiling for unpriv", " -1: Allow use of (almost) all events by all users\n"
">= 0: Disallow raw tracepoint access by users without CAP_IOC_LOCK\n"
">= 1: Disallow CPU event access by users without CAP_SYS_ADMIN\n"
">= 2: Disallow kernel profiling by users without CAP_SYS_ADMIN",
target->system_wide ? "system-wide " : ""); target->system_wide ? "system-wide " : "");
case ENOENT: case ENOENT:
return scnprintf(msg, size, "The %s event is not supported.", return scnprintf(msg, size, "The %s event is not supported.",