Re: [PATCH 3/3] perf tool: give user better message if precise isnot supported

From: David Ahern
Date: Tue Sep 11 2012 - 10:32:52 EST


On 9/11/12 8:01 AM, Robert Richter wrote:

Ok, wrong question. Better would have been: Did you run it on a
non-pebs Intel machine of an non-ibs AMD machine?

Intel: yes. VM for example. All the servers I have now are Nehalem or better - ie., with a PEBS.

AMD: no. I do not have any AMD-based servers.


I do not post patches without testing them. This particular patch was
verified in a Virtual Machine (no PEBS) and using :pG modifier.

'egrep -r ENOTSUP tools/perf' shows hits in 3 other files, so I am not
the only one using the shortcut. I'll change it in the follow up with
better commit messages to make it consistent with patch 2.

For VM this might be valid. Don't know where ENOTSUP comes from. It is
neither in kernel/events/ nor arch/x86/kernel/cpu/perf.

My guess would be /usr/include/bits/errno.h:

/* Linux has no ENOTSUP error code. */
# define ENOTSUP EOPNOTSUPP



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.

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/