summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYabin Cui <yabinc@google.com>2017-06-02 00:07:11 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-06-02 00:07:11 +0000
commit7d34de79a3c307a3692dc743699421e390a1e310 (patch)
treeb6e9fd4ec3ff4a4f6a63f0f51220b991039934e1
parent9f6c2833f58c9238dbaa3236ca1270cd939d86d7 (diff)
parentf55d48bf08896463bb99883c527069c8027097ce (diff)
downloadextras-7d34de79a3c307a3692dc743699421e390a1e310.tar.gz
Merge "simpleperf: write -1 to perf_event_paranoid when running as root." am: 668878b3b7 am: df104e1ed8 am: 6ec981b750
am: f55d48bf08 Change-Id: Ibba4472ae691f3eb0ad863cde2ea8d55f72ccf38
-rw-r--r--simpleperf/environment.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/simpleperf/environment.cpp b/simpleperf/environment.cpp
index d0cb8351..7fff85f1 100644
--- a/simpleperf/environment.cpp
+++ b/simpleperf/environment.cpp
@@ -361,8 +361,11 @@ static const char* GetLimitLevelDescription(int limit_level) {
}
bool CheckPerfEventLimit() {
- // root is not limited by /proc/sys/kernel/perf_event_paranoid.
- if (IsRoot()) {
+ // Root is not limited by /proc/sys/kernel/perf_event_paranoid. However, the monitored threads
+ // may create child processes not running as root. To make sure the child processes have
+ // enough permission to create inherited tracepoint events, write -1 to perf_event_paranoid.
+ // See http://b/62230699.
+ if (IsRoot() && android::base::WriteStringToFile("-1", "/proc/sys/kernel/perf_event_paranoid")) {
return true;
}
int limit_level;