[llvm] r333632 - [llvm-exegesis][NFCI] Counter::Counter(): more useful msg on event open error
Roman Lebedev via llvm-commits
llvm-commits at lists.llvm.org
Thu May 31 00:08:27 PDT 2018
Author: lebedevri
Date: Thu May 31 00:08:26 2018
New Revision: 333632
URL: http://llvm.org/viewvc/llvm-project?rev=333632&view=rev
Log:
[llvm-exegesis][NFCI] Counter::Counter(): more useful msg on event open error
Summary:
I'm slowly looking into a new X86 scheduler model,
for AMD Bulldozer CPU, model 2 (bdver2, Piledriver).
And naturally, i have hit that assert :)
I happened to know what it meant, and how to fix it,
but that is not too common knowledge.
Reviewers: courbet, RKSimon
Reviewed By: courbet
Subscribers: tschuett, llvm-commits, craig.topper
Differential Revision: https://reviews.llvm.org/D47572
Modified:
llvm/trunk/tools/llvm-exegesis/lib/PerfHelper.cpp
Modified: llvm/trunk/tools/llvm-exegesis/lib/PerfHelper.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-exegesis/lib/PerfHelper.cpp?rev=333632&r1=333631&r2=333632&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-exegesis/lib/PerfHelper.cpp (original)
+++ llvm/trunk/tools/llvm-exegesis/lib/PerfHelper.cpp Thu May 31 00:08:26 2018
@@ -96,9 +96,12 @@ Counter::Counter(const PerfEvent &Event)
const uint32_t Flags = 0;
perf_event_attr AttrCopy = *Event.attribute();
FileDescriptor = perf_event_open(&AttrCopy, Pid, Cpu, GroupFd, Flags);
- assert(FileDescriptor != -1 &&
- "Unable to open event, make sure your kernel allows user space perf "
- "monitoring.");
+ if (FileDescriptor == -1) {
+ llvm::errs() << "Unable to open event, make sure your kernel allows user "
+ "space perf monitoring.\nYou may want to try:\n$ sudo sh "
+ "-c 'echo -1 > /proc/sys/kernel/perf_event_paranoid'\n";
+ }
+ assert(FileDescriptor != -1 && "Unable to open event");
}
Counter::~Counter() { close(FileDescriptor); }
More information about the llvm-commits
mailing list