Re: [RFD] perf syscall error handling

From: Vince Weaver
Date: Thu Oct 30 2014 - 21:15:57 EST


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