Messages in this thread | | | Date | Tue, 11 Sep 2012 17:11:52 +0200 | From | Robert Richter <> | Subject | Re: [PATCH 3/3] perf tool: give user better message if precise is not supported |
| |
On 11.09.12 08:32:55, David Ahern wrote: > My guess would be /usr/include/bits/errno.h: > > /* Linux has no ENOTSUP error code. */ > # define ENOTSUP EOPNOTSUPP
Ok, so ENOTSUP is actually the same as EOPNOTSUPP. Since the syscall returns a EOPNOTSUPP, I prefer this when checking perf_event_open() return codes. ENOTSUP is not used in the kernel. Was there a reason for choosing ENOTSUP?
> > If you run this bare-metal on older machines which do not support pebs > > or ibs, the syscall returns EOPNOTSUPP. You can trigger the same > > behaviour on newer systems with: > > > > # perf record -e cycles:ppp -c 2097120 -R -a sleep 1 > > > > Error: sys_perf_event_open() syscall returned with 95 (Operation not supported). /bin/dmesg may provide additional information. > > ... > > > > It should work in this case too. > > The commit message was a copy and paste from the failure of both :p in a > VM (PEBS is not supported in a VM). I also ran the bare metal case with > :pG which per the second patch in this series generates the not > supported message.
Since the error codes are the same, your code should work also on bare-metal. Can you test on a host using :ppp? This should trigger the same error message as in a vm.
Thanks,
-Robert
-- Advanced Micro Devices, Inc. Operating System Research Center
| |