Messages in this thread | | | Date | Thu, 30 Oct 2014 21:16:36 -0400 (EDT) | From | Vince Weaver <> | Subject | Re: [RFD] perf syscall error handling |
| |
On Thu, 30 Oct 2014, Peter Zijlstra wrote:
> So would something simple, like an offset into the struct > perf_event_attr pointing at the current field we're trying to process > make sense? Maybe with negative offsets to indicate the syscall > arguments? > > That would narrow down the 'WTF is wrong noaw' a lot I think. But then, > I've not actually done a lot of userspace the last few years, so maybe > I'm just dreaming things.
well, as someone who spends a lot of time in userspace trying to help people who report probems like 'perf_event_open() returns EINVAL, what's wrong' I can say pretty much anything will be an improvement.
What would really help is if we could somehow return the filename/line-number of whatever source code file that's setting errno.
Even if perf_event_open() told me that hey, we're getting EOPNOTSUPP due to the precise_ip parameter (something that happened just yesterday) it's still a lot of grepping and poking around source files to find out what's going on. It would be much better if it just told me the issue was at kernel/events/core.c line 995 or so, but I'm not sure how you could pass that back to the user, and one could argue it wouldn't help much the average user without a kernel tree lying around.
Vince
| |