[RFC 2/2] perf/core: change errno for sampling event not supported in hardware

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Monday 09 May 2016 07:24 PM, Vince Weaver wrote:
> On Mon, 9 May 2016, Vineet Gupta wrote:
> 
>> This allows userspace to identify this case specifically from the
>> catch all error msg it prints currently.
>>
>> This is an ABI change
> 
> An ABI change which will probably break things.


Right thats what I feared. But hold on, I don't think we need to change the ABI to
achieve what we want. Gosh why did I even take that path.

Currently the errno switch case in perf_evsel__open_strerror() in doesn't handle
ENOTSUPP. So how about we add that - augmented with the same sample_period !0
check to barf for lack of sampling support.

Do you see anything wrong with that ?

-Vineet

> 
> The original change from ENODEV to ENOTSUPP managed to break things 
> although it took four kernel releases before anyone noticed.
> 
> The usage of ENOTSUPP was my fault, though I feel like at the time I was 
> told that ENOTSUPP is for internal kernel usage and would be converted to 
> EOPNOTSUPP when returning an error to userspace.  But now I 
> can't find any sort of reference for that at all, except the fact that
> 
> 	/usr/include/x86_64-linux-gnu/bits/errno.h
> 
> has
> 	/* Linux has no ENOTSUP error code.  */
> 	# define ENOTSUP EOPNOTSUPP
> 
> in it... but wait, that's ENOTSUP not ENOTSUPP.  Blargh.
> 
> Vince
> 




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux