public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Yoav Etsion <etsman@gmail.com>
To: "Frank Ch. Eigler" <fche@redhat.com>
Cc: linux-kernel@vger.kernel.org, etsman@cs.huji.ac.il
Subject: Re: Static instrumentation, was Re: RFC: klogger: kernel tracing and logging tool
Date: Wed, 22 Feb 2006 23:00:12 +0200	[thread overview]
Message-ID: <43FCD0DC.1010707@gmail.com> (raw)
In-Reply-To: <y0mbqwze1p8.fsf@ton.toronto.redhat.com>

Frank,

You raise two important issues:
1. code markers/annotations for tracing/probing purposes.
2. overhead of the kernel loggers in their inactive state

Of these, I think the first is more important, as it addresses some 
basic defeciency of software development --- getting to know someone 
else's code.
In my experience, writing instrumentation for a kernel subsystem (schema 
in Klogger lingo) requires in depth understanding of the code. This 
sometimes tunnel tremendous efforts towards measurements that could 
otherwise become trivial.

Since no one knows the code like its coder, having developers annotate 
their code using some semi-formal language/definitions (or even compiler 
pragmas) can serve as the best basis for any kernel logger.
Once such markers are in place, the second issue --- overheads (as most 
anything else)--- becomes a technical issue. So even when incurring 
inactive overheads, such a tool can be very useful for developers and 
researchers alike.

After all my babble, the bottom line to the community:
will kernel developers annotate their code? can such policies be instated?

Yoav


Frank Ch. Eigler wrote:
> Yoav Etsion <etsman@gmail.com> writes:
> 
> 
>>[...]  I've developed a kernel logging tool called
>>Klogger: http://www.cs.huji.ac.il/~etsman/klogger
>>In some senses, it is similar to the LTT [...]
> 
> 
> It seems like several projects would benefit from markers being
> inserted into key kernel code paths for purposes of tracing / probing.
> 
> Both LTTng and klogger have macros that expand to largish inline
> function calls that appear to cause a noticeable amount of work even
> for tracing requests are not actually active.  (klogger munges
> interrupts, gets timestamps, before ever testing whether logging was
> requested; lttng similar; icache bloat in both cases.)
> 
> In other words, even in the inactive state, tracing markers like those
> of klogger and ltt impose some performance disruption.  Assuming that
> detailed tracing / probing would be a useful facility to have
> available, are there any other factors that block adoption of such
> markers in official kernels?  In other words, if they could go "fast
> enough", especially in the inactive case, would you start placing them
> into your code?
> 
> 
> - FChE
> 

  reply	other threads:[~2006-02-22 21:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-22 15:25 RFC: klogger: kernel tracing and logging tool Yoav Etsion
2006-02-22 16:21 ` Steven Rostedt
2006-02-22 17:35 ` Static instrumentation, was " Frank Ch. Eigler
2006-02-22 21:00   ` Yoav Etsion [this message]
2006-02-23 15:17   ` Steven Rostedt

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=43FCD0DC.1010707@gmail.com \
    --to=etsman@gmail.com \
    --cc=etsman@cs.huji.ac.il \
    --cc=fche@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    /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