On Tuesday 26 April 2016 06:12 PM, Vineet Gupta wrote: > On Friday 22 April 2016 06:56 PM, Lada Trimasova wrote: >> I have a question about user-space perf handling error numbers. >> The problem is that PMU interrupts are not supported in arc700 >> architecture and it is impossible to evaluate `perf record` command. >> In our perf implementation we set PERF_PMU_CAP_NO_INTERRUPT flag so >> core perf infrastructure knows we don't have interrupts. >> >> Kernel `sys_perf_event_open` handler checks if PMU interrupts are >> supported and returns ENOTSUPP (524) error code. >> I'd expect that perf implementation checks the return value of syscalls >> and gives the user understandable error message. >> But now I see: >> --------------------------------->8----------------------------------- >> # perf record ls >> The sys_perf_event_open() syscall returned with 524 (Unknown error 524) >> for event (cycles:ppp). >> /bin/dmesg may provide additional information. >> No CONFIG_PERF_EVENTS=y kernel support configured? >> --------------------------------->8----------------------------------- Guys, is the ABI change for returning -EOPNOTSUPP vs. -ENOTSUPP for is_sampling_event() && (event->pmu->capabilities & PERF_PMU_CAP_NO_INTERRUPT) acceptable ? We could use this in userspace to print pretty rather than half cooked error msg above ! -Vineet