mirror of
https://github.com/Divested-Mobile/DivestOS-Build.git
synced 2024-12-30 01:46:30 -05:00
133 lines
4.9 KiB
Diff
133 lines
4.9 KiB
Diff
From e65cc8f9c46c6b8119826fbc22ffeb4e96e80e8a Mon Sep 17 00:00:00 2001
|
|
From: Ben Hutchings <ben@decadent.org.uk>
|
|
Date: Tue, 19 Jan 2016 21:35:15 +0000
|
|
Subject: BACKPORT: perf tools: Document the perf sysctls
|
|
|
|
perf_event_paranoid was only documented in source code and a perf error
|
|
message. Copy the documentation from the error message to
|
|
Documentation/sysctl/kernel.txt.
|
|
|
|
Conflicts:
|
|
Documentation/sysctl/kernel.txt
|
|
tools/perf/util/evsel.c
|
|
|
|
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
|
Cc: Peter Zijlstra <peterz@infradead.org>
|
|
Cc: linux-doc@vger.kernel.org
|
|
Link: http://lkml.kernel.org/r/20160119213515.GG2637@decadent.org.uk
|
|
[ Remove reference to external Documentation file, provide info inline, as before ]
|
|
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|
|
Bug: 29054680
|
|
Bug: 29119870
|
|
Signed-off-by: Dennis Cagle <d-cagle@codeaurora.org>
|
|
Change-Id: I13e73cfb2ad761c94762d0c8196df7725abdf5c5
|
|
(cherry picked from commit 746938f9d97d74f6c2833a0ede49506bdfcd89e4)
|
|
---
|
|
Documentation/sysctl/kernel.txt | 41 ++++++++++++++++++++++++++---------------
|
|
tools/perf/util/evsel.c | 15 +++++++++------
|
|
2 files changed, 35 insertions(+), 21 deletions(-)
|
|
|
|
diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt
|
|
index 550ece7..942d769 100644
|
|
--- a/Documentation/sysctl/kernel.txt
|
|
+++ b/Documentation/sysctl/kernel.txt
|
|
@@ -51,8 +51,9 @@ show up in /proc/sys/kernel:
|
|
- overflowuid
|
|
- panic
|
|
- panic_on_oops
|
|
-- panic_on_unrecovered_nmi
|
|
- panic_on_stackoverflow
|
|
+- panic_on_unrecovered_nmi
|
|
+- perf_event_paranoid
|
|
- pid_max
|
|
- powersave-nap [ PPC only ]
|
|
- printk
|
|
@@ -427,19 +428,6 @@ the recommended setting is 60.
|
|
|
|
==============================================================
|
|
|
|
-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_oops:
|
|
|
|
Controls the kernel's behaviour when an oops or BUG is encountered.
|
|
@@ -459,7 +447,6 @@ This file shows up if CONFIG_DEBUG_STACKOVERFLOW is enabled.
|
|
|
|
0: try to continue operation.
|
|
|
|
-1: panic immediately.
|
|
|
|
==============================================================
|
|
|
|
@@ -489,6 +476,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:
|
|
|
|
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
|
|
index 63b6f8c..54494df 100644
|
|
--- a/tools/perf/util/evsel.c
|
|
+++ b/tools/perf/util/evsel.c
|
|
@@ -1515,12 +1515,15 @@ int perf_evsel__open_strerror(struct perf_evsel *evsel,
|
|
case EPERM:
|
|
case EACCES:
|
|
return scnprintf(msg, size,
|
|
- "You may not have permission to collect %sstats.\n"
|
|
- "Consider tweaking /proc/sys/kernel/perf_event_paranoid:\n"
|
|
- " -1 - Not paranoid at all\n"
|
|
- " 0 - Disallow raw tracepoint access for unpriv\n"
|
|
- " 1 - Disallow cpu events for unpriv\n"
|
|
- " 2 - Disallow kernel profiling for unpriv",
|
|
+ "You may not have permission to collect %sstats.\n\n"
|
|
+ "Consider tweaking /proc/sys/kernel/perf_event_paranoid,\n"
|
|
+ "which controls use of the performance events system by\n"
|
|
+ "unprivileged users (without CAP_SYS_ADMIN).\n\n"
|
|
+ "The default value is 1:\n\n"
|
|
+ " -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 " : "");
|
|
case ENOENT:
|
|
return scnprintf(msg, size, "The %s event is not supported.",
|
|
--
|
|
cgit v1.1
|
|
|