[lkml]   [2012]   [Sep]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 3/3] perf tool: give user better message if precise is not supported
On 9/11/12 9:11 AM, Robert Richter wrote:
> 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. */
> 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?

poor memory? laziness? a habit I was not aware I had acquired with using
ENOTSUP? I mentioned in a prior response I would change it to EOPNOTSUPP
to be consistent with the 2nd patch -- what the kernel is returning.

>>> 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.

As expected:
$ perf record -e cycles:ppp -a
'precise' request not supported. Try removing 'p' modifier

Resending patchset in a few minutes.


 \ /
  Last update: 2012-09-12 18:02    [W:0.043 / U:0.664 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site