diff options
author | Roman Lebedev <lebedev.ri@gmail.com> | 2018-05-31 07:08:26 +0000 |
---|---|---|
committer | Roman Lebedev <lebedev.ri@gmail.com> | 2018-05-31 07:08:26 +0000 |
commit | 71d4afb90a3973c1ca0771188cac5a972b52e996 (patch) | |
tree | 2ebd2125f69d1d9305f6f02c09e29509146903ce | |
parent | c0ecd06428547b3764636b1ccb93e652df977753 (diff) | |
download | bcm5719-llvm-71d4afb90a3973c1ca0771188cac5a972b52e996.tar.gz bcm5719-llvm-71d4afb90a3973c1ca0771188cac5a972b52e996.zip |
[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
llvm-svn: 333632
-rw-r--r-- | llvm/tools/llvm-exegesis/lib/PerfHelper.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/llvm/tools/llvm-exegesis/lib/PerfHelper.cpp b/llvm/tools/llvm-exegesis/lib/PerfHelper.cpp index f164e3d2854..c145ea8404b 100644 --- a/llvm/tools/llvm-exegesis/lib/PerfHelper.cpp +++ b/llvm/tools/llvm-exegesis/lib/PerfHelper.cpp @@ -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); } |