All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <compudj@krystal.dyndns.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Linus Torvalds <torvalds@osdl.org>, Andrew Morton <akpm@osdl.org>,
	linux-kernel@vger.kernel.org,
	Christoph Hellwig <hch@infradead.org>,
	ltt-dev@lists.casi.polymtl.ca, Ingo Molnar <mingo@elte.hu>,
	Sam Ravnborg <sam@ravnborg.org>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [ltt-dev] LTTng kernel integration roadmap, update
Date: Mon, 24 Nov 2008 15:46:22 -0500	[thread overview]
Message-ID: <20081124204622.GA6229@Krystal> (raw)
In-Reply-To: <alpine.DEB.1.10.0811241156030.20122@gandalf.stny.rr.com>

* Steven Rostedt (rostedt@goodmis.org) wrote:
> 
> On Mon, 24 Nov 2008, Mathieu Desnoyers wrote:
> > 
> > The key idea behind this is to answer to Thomas Gleixner concerns, who
> > supports that a tracer should output data in text-format only so it can
> > be used with tools kernel developers have on their system, like "cat".
> > 
> > However, getting data out of the kernel efficiently simply cannot be
> > done with such approach. Therefore, LTTng needs its own userspace tools
> > to splice the data out of the kernel efficiently. Another tool is used
> > to pretty-print the binary data into text.
> > 
> > Then the problem becomes : we have to make the userspace tool easy
> > enough to deploy so even Linus can find and use it. ;)
> > 
> > But indeed, the trace buffers are versioned, so if the format changes
> > between kernel versions, the userspace tools will detect it and the user
> > will know it must update its tools. So it's not really a problem there.
> > 
> > The question that prevails is therefore : should we ship userspace
> > binary with the kernel tree at all ? And if yes, how should the resuting
> > executables be packaged and deployed ? Should it be installed in the
> > system along with kernel modules or should it be populated into a
> > filesystem populated by kernelspace ?
> > 
> > Or is it better to do as we have always done and keep the userspace
> > tools separated from the kernel tree ?
> 
> I say keep the user space tools separate as much as possible.
> 

I'd be in favor of that too. We should just document and package it so
it's easy to find.

> What about having a meta-data file for all binary files. This meta-data 
> could explain the format that is read. Big endian, little endian, the 
> fields and offsets, the event ids etc.  This way we will not need a 
> "version" file, which means absolutely nothing if you do not know what 
> comes with that version. Any tool could look at the meta-data file and 
> figure out what is in the buffers.
> 
> -- Steve

This is exactly what I do in LTTng, modulo the fact that I repeat this
information also in other buffer headers, but only use the information
located in the metadata buffer header. I duplicated the information to
make sure all subbuffer headers looks the same, but I could easily
change that.

I would however keep a small subbuffer header with a version number for
each subbuffers though, just so the parser can "know" what file this is
and what metadata should be expected with it. I think about the poor
user who lost its metadata file and wonders what tool could open the
other tracefiles he has... without a header containing at least a magic
number and a version, those files won't be identified. But we can keep
this information as minimalistic as possible.

Thanks for the feedback.

Mathieu

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

  reply	other threads:[~2008-11-24 20:46 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-24 11:28 LTTng kernel integration roadmap, update Mathieu Desnoyers
2008-11-24 11:41 ` Christoph Hellwig
2008-11-24 12:20   ` Mathieu Desnoyers
2008-11-24 16:58     ` Steven Rostedt
2008-11-24 20:46       ` Mathieu Desnoyers [this message]
2008-11-25  7:09         ` [ltt-dev] " Mathieu Desnoyers
2008-11-25 13:57       ` Andrew Morton
2008-11-25 15:40         ` Sam Ravnborg
2008-11-25 17:59           ` Theodore Tso
2008-11-25 19:09             ` Andrew Morton
2008-11-25 19:30             ` Sam Ravnborg
2008-11-28 12:56           ` [ltt-dev] " Mathieu Desnoyers
2008-11-28 12:58         ` Mathieu Desnoyers
2008-11-25  8:24     ` Christoph Hellwig
2008-11-25  8:47       ` [ltt-dev] " Mathieu Desnoyers
2008-11-25  8:57       ` Theodore Tso
2008-11-25  8:59         ` Christoph Hellwig
2008-12-04  3:49 ` Lai Jiangshan

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=20081124204622.GA6229@Krystal \
    --to=compudj@krystal.dyndns.org \
    --cc=akpm@osdl.org \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ltt-dev@lists.casi.polymtl.ca \
    --cc=mingo@elte.hu \
    --cc=rostedt@goodmis.org \
    --cc=sam@ravnborg.org \
    --cc=tglx@linutronix.de \
    --cc=torvalds@osdl.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.