From: Ingo Molnar <mingo@elte.hu>
To: Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>,
Frederic Weisbecker <fweisbec@gmail.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Steven Rostedt <rostedt@goodmis.org>
Subject: Re: [PATCH] tracing/kmemtrace: normalize the raw tracer event to the unified tracing API
Date: Tue, 30 Dec 2008 09:47:24 +0100 [thread overview]
Message-ID: <20081230084724.GA24637@elte.hu> (raw)
In-Reply-To: <20081230084127.GE10635@localhost>
* Eduard - Gabriel Munteanu <eduard.munteanu@linux360.ro> wrote:
> On Tue, Dec 30, 2008 at 09:16:00AM +0100, Ingo Molnar wrote:
> > 3)
> >
> > the most lowlevel (and hence most allocation-footprint sensitive) object
> > to track would be the memory object itself. I think the best approach
> > would be to do a static, limited size hash that could track up to N memory
> > objects.
> >
> > The advantage of such an approach is that it does not impact allocation
> > patterns at all (besides the one-time allocation cost of the hash itself
> > during tracer startup).
>
> kmemtrace-user handles this by analysing offline :). I presume you could
> get around this by discarding every hash collision in a well-sized
> hashtable. The hashing algo in kmemtrace-user performs okay, considering
> it fills the hashtable almost entirely, but I presume you're doing that
> in-kernel and using other available code.
yeah - this is not a replacement for kmemtrace-user - analyzing raw trace
events offline is still possible of course.
> > And this too would be driven from ftrace mainly - the SLAB code would
> > only offer the alloc+free callbacks with the object IDs. [ and this
> > means that we could detect memory leaks by looking at the hash table
> > and print out the age of entries :-) ]
>
> Some time ago I dropped timestamps because they were not providing a
> good way to reorder packets in userspace. We're currently relying on a
> sequence number to do that. You could take that as 'age', but it's not
> temporally-meaningful.
yeah - ftrace entries generally have a timestamp so it should be rather
easy.
Ingo
next prev parent reply other threads:[~2008-12-30 8:47 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-29 21:42 [PATCH] tracing/kmemtrace: normalize the raw tracer event to the unified tracing API Frederic Weisbecker, Frederic Weisbecker
2008-12-29 21:46 ` Frederic Weisbecker
2008-12-29 22:09 ` Frederic Weisbecker
2008-12-29 22:13 ` Frederic Weisbecker
2008-12-30 7:49 ` Pekka Enberg
2008-12-30 8:01 ` Eduard - Gabriel Munteanu
2008-12-30 8:16 ` Ingo Molnar
2008-12-30 8:41 ` Eduard - Gabriel Munteanu
2008-12-30 8:47 ` Ingo Molnar [this message]
2008-12-30 9:01 ` Pekka Enberg
2008-12-30 9:11 ` Ingo Molnar
2008-12-30 14:16 ` Frederic Weisbecker
2008-12-30 15:37 ` Ingo Molnar
2008-12-30 21:09 ` Frederic Weisbecker
2008-12-30 14:32 ` Frederic Weisbecker
2008-12-30 8:00 ` Ingo Molnar
2008-12-30 7:34 ` Ingo Molnar
2008-12-30 7:45 ` Ingo Molnar
2009-01-05 16:48 ` Steven Rostedt
2009-01-05 23:50 ` Frederic Weisbecker
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=20081230084724.GA24637@elte.hu \
--to=mingo@elte.hu \
--cc=eduard.munteanu@linux360.ro \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=penberg@cs.helsinki.fi \
--cc=rostedt@goodmis.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.