From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: LKML <linux-kernel@vger.kernel.org>, Ingo Molnar <mingo@elte.hu>,
Thomas Gleixner <tglx@linutronix.de>,
Karim Yaghmour <karim@opersys.com>, Andrew Morton <akpm@osdl.org>,
Chris Wright <chrisw@sous-sol.org>,
fche@redhat.com, Tom Zanussi <zanussi@us.ibm.com>
Subject: Re: [RFC] The New and Improved Logdev (now with kprobes!)
Date: Thu, 5 Oct 2006 10:31:33 -0400 [thread overview]
Message-ID: <20061005143133.GA400@Krystal> (raw)
In-Reply-To: <1160025104.6504.30.camel@localhost.localdomain>
Hi Steven,
The dynamic abilities of your logdev are very interesting! If I may emit some
ideas :
It would be great to have this logging information recorded into a standardized
buffer format so it could be analyzed with data gathered by other
instrumentation. Instead of using Tom's relay mechanism directly, you might
want to have a look at LTTng (http://ltt.polymtl.ca) : it would be a simple
matter of describing your own facility (group of event), the data types they
record, run genevent (serialization code generator) and call those
serialization functions when you want to record to the buffers from logdev.
One thing logdev seems to have that LTTng does't currently is the integration
with a mechanism that dumps the output upon a crash (LKCD integration). It's no
rocket science, but I just did not have time to do it.
I think it would be great to integrate those infrastructures together so we can
easily merge information coming from various sources (markers, logdev, systemTAP
scripts, LKET).
* Steven Rostedt (rostedt@goodmis.org) wrote:
> 1. break point and a watch address
>
> This simply allows you to set a break point at some address (or pass in
> a function name if it exists in kallsyms).
>
> logprobe -f hrtimer_start -v jiffies_64
>
Does it automatically get the data type, or is there any way to specify it ?
>
> 2. break point and watch from current
>
> This allows a user to see something on the current task_struct. You need
> to know the offset exactly. In the below example, I know that 20 (dec)
> is the offset in the task_struct to lock_depth.
>
> example:
>
> logprobe -f schedule -c 20 "lock_depth"
>
> produces:
>
> [ 8757.854029] cpu:1 sawfish:3862 func: schedule (0xc02f8320) lock_depth index:20 = 0xffffffff
>
Could we think of a quick hack that would involve using gcc on stdin and return
an "offsetof", all in user-space ?
>
> 3. break point and watch fixed type
>
> This is a catch all for me. I currently only implement preempt_count.
>
>
> logprobe -t pc -f _spin_lock
>
> produces:
>
> [ 9442.215693] cpu:0 logread:6398 func: _spin_lock (0xc02fab9d) preempt_count:0x0
>
Ouch, I can imagine the performance impact of this breakpoint though :) This is
a case where marking the code helps a lot.
Regards,
Mathieu
OpenPGP public key: http://krystal.dyndns.org:8080/key/compudj.gpg
Key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
next prev parent reply other threads:[~2006-10-05 14:37 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-05 5:11 [RFC] The New and Improved Logdev (now with kprobes!) Steven Rostedt
2006-10-05 14:31 ` Mathieu Desnoyers [this message]
2006-10-05 15:49 ` Steven Rostedt
2006-10-05 17:01 ` Mathieu Desnoyers
2006-10-05 18:09 ` Steven Rostedt
2006-10-05 18:29 ` Daniel Walker
2006-10-05 18:38 ` Steven Rostedt
2006-10-05 18:49 ` Daniel Walker
2006-10-05 19:39 ` Daniel Walker
2006-10-05 20:18 ` Mathieu Desnoyers
2006-10-05 20:26 ` Steven Rostedt
2006-10-05 20:31 ` Mathieu Desnoyers
2006-10-05 20:50 ` Mathieu Desnoyers
2006-10-05 21:28 ` Steven Rostedt
2006-10-06 1:29 ` Mathieu Desnoyers
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=20061005143133.GA400@Krystal \
--to=mathieu.desnoyers@polymtl.ca \
--cc=akpm@osdl.org \
--cc=chrisw@sous-sol.org \
--cc=fche@redhat.com \
--cc=karim@opersys.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=zanussi@us.ibm.com \
/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