From: Alexander Shishkin <alexander.shishkin@linux.intel.com>
To: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
linux-kernel@vger.kernel.org, adrian.hunter@intel.com,
Arnaldo Carvalho de Melo <acme@infradead.org>,
Vince Weaver <vince@deater.net>,
Stephane Eranian <eranian@google.com>
Subject: Re: [PATCH RFC v1 0/4] perf: Introduce extended syscall error reporting
Date: Thu, 27 Aug 2015 14:12:23 +0300 [thread overview]
Message-ID: <87oahtgf3c.fsf@ashishki-desk.ger.corp.intel.com> (raw)
In-Reply-To: <20150825084828.GA21511@gmail.com>
Ingo Molnar <mingo@kernel.org> writes:
> * Alexander Shishkin <alexander.shishkin@linux.intel.com> wrote:
>
>> Ingo Molnar <mingo@kernel.org> writes:
>>
>> > * Peter Zijlstra <peterz@infradead.org> wrote:
>> >
>> >> On Fri, Jul 24, 2015 at 02:45:55PM +0300, Alexander Shishkin wrote:
>> >> > Hi Peter and Ingo and everybody,
>> >> >
>> >> > Here's my second stab at improving perf's error reporting by attaching
>> >> > arbitrary strings to the integer error codes. This is largely based
>> >> > off of the previous email thread [1].
>> >> >
>> >> > This time around, I employed a linker trick to convert the structures
>> >> > containing extended error information into integers, which are then
>> >> > made to look just like normal error codes so that IS_ERR_VALUE() and
>> >> > friends would still work correctly on them. So no extra pointers in
>> >> > the struct perf_event or anywhere else; the extended error codes are
>> >> > passed around like normal error codes. They only need to be converted
>> >> > in syscalls' topmost return statements. This is done in 1/4.
>> >> >
>> >> > Then, 2/4 illustrates how error sites can be extended to include more
>> >> > information such as file names and line numbers [1].
>> >> >
>> >> > The other two patches add perf_err() annotation to a few semi-randomly
>> >> > picked places in perf core (3/4) and x86 bits (4/4).
>> >>
>> >> Looks generally ok to me. Thanks for doing this.
>> >
>> > I like this too.
>> >
>> > Alexander, mind sending a finalized, signed off version?
>>
>> Sure, I have everything ready, except for what about 2/4 (using
>> CONFIG_DEBUG_KERNEL to extend output with file name and line number)? Should I
>> leave it out or can we pick a more specific kconfig option or add a new one?
>
> I'd make it unconditional. We'll see whether we compress the debug info some more
> if the number of callsites increases dramatically. Tooling can decide whether it
> wants to display it by default, or print it only if some verbosity option is
> activated.
Done.
> Also, mind structuring it in a bit more generic way that makes it possible for
> other kernel subsystems to use this facility too? I.e. add a new header for it
> instead of embedding it in perf, etc. Nothing complex, just some common-sense
> generalization for a useful looking facility.
Yes, now I have both a perf specific and a more generic implementation
that perf then makes use of. Now let's arrive at a common denominator in
the other thread, I guess, and then we can go ahead with either version.
> For example the scheduler could start using it in struct sched_attr and feed back
> the 15+ of failure causes in sys_sched_setattr() / __sched_setscheduler() in a bit
> more usable fashion.
Yes, what I posted yesterday should be useful for this case as well.
Regards,
--
Alex
prev parent reply other threads:[~2015-08-27 11:12 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-24 11:45 Alexander Shishkin
2015-07-24 11:45 ` [PATCH RFC v1 1/4] " Alexander Shishkin
2015-07-30 12:09 ` Alexander Shishkin
2015-08-05 15:18 ` Peter Zijlstra
2015-08-05 15:35 ` Peter Zijlstra
2015-08-05 15:45 ` Peter Zijlstra
2015-08-17 12:51 ` Alexander Shishkin
2015-08-05 16:10 ` Peter Zijlstra
2015-07-24 11:45 ` [PATCH RFC v1 2/4] perf: Add file name and line number to perf extended error reports Alexander Shishkin
2015-07-24 11:45 ` [PATCH RFC v1 3/4] perf: Annotate some of the error codes with perf_err() Alexander Shishkin
2015-07-24 11:45 ` [PATCH RFC v1 4/4] perf/x86: " Alexander Shishkin
2015-08-05 17:01 ` [PATCH RFC v1 0/4] perf: Introduce extended syscall error reporting Peter Zijlstra
2015-08-22 13:51 ` Ingo Molnar
2015-08-24 13:52 ` Alexander Shishkin
2015-08-25 8:48 ` Ingo Molnar
2015-08-27 11:12 ` Alexander Shishkin [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87oahtgf3c.fsf@ashishki-desk.ger.corp.intel.com \
--to=alexander.shishkin@linux.intel.com \
--cc=acme@infradead.org \
--cc=adrian.hunter@intel.com \
--cc=eranian@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=vince@deater.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®