diff options
Diffstat (limited to 'simpleperf/environment.cpp')
-rw-r--r-- | simpleperf/environment.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/simpleperf/environment.cpp b/simpleperf/environment.cpp index 5a8552a2..a73aa1cc 100644 --- a/simpleperf/environment.cpp +++ b/simpleperf/environment.cpp @@ -477,3 +477,17 @@ bool CheckPerfEventLimit() { #endif return true; } + +bool GetMaxSampleFrequency(uint64_t* max_sample_freq) { + std::string s; + if (!android::base::ReadFileToString("/proc/sys/kernel/perf_event_max_sample_rate", &s)) { + PLOG(DEBUG) << "failed to read /proc/sys/kernel/perf_event_max_sample_rate"; + return false; + } + s = android::base::Trim(s); + if (!android::base::ParseUint(s.c_str(), max_sample_freq)) { + LOG(ERROR) << "failed to parse /proc/sys/kernel/perf_event_max_sample_rate: " << s; + return false; + } + return true; +} |