From: Ingo Molnar <mingo@elte.hu>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: penberg@cs.helsinki.fi, a.p.zijlstra@chello.nl,
fweisbec@gmail.com, rostedt@goodmis.org, mel@csn.ul.ie,
lwoodman@redhat.com, riel@redhat.com, peterz@infradead.org,
linux-kernel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: [PATCH 4/4] tracing, page-allocator: Add a postprocessing script for page-allocator-related ftrace events
Date: Wed, 5 Aug 2009 09:53:03 +0200 [thread overview]
Message-ID: <20090805075303.GG19322@elte.hu> (raw)
In-Reply-To: <20090804135315.b2678e11.akpm@linux-foundation.org>
* Andrew Morton <akpm@linux-foundation.org> wrote:
> On Tue, 4 Aug 2009 22:35:26 +0200
> Ingo Molnar <mingo@elte.hu> wrote:
>
> > Did you never want to see whether firefox is leaking [any sort of]
> > memory, and if yes, on what callsites? Try something like on an
> > already running firefox context:
> >
> > perf stat -e kmem:mm_page_alloc \
> > -e kmem:mm_pagevec_free \
> > -e kmem:mm_page_free_direct \
> > -p $(pidof firefox-bin) sleep 10
> >
> > ... and "perf record" for the specific callsites.
>
> OK, that would be useful. What does the output look like?
I suspect Mel's output is an even better example.
> In what way is it superior to existing ways of finding leaks?
It's barely useful in this form - i just demoed the capability. perf
stat is not a 'leak finding' special-purpose tool, but a generic
tool that i used for this purpose as well, on an ad-hoc basis.
Tools that can be used in unexpected but still useful ways tend to
be the best ones.
The kind of information these tracepoints expose, combined with the
sampling and analysis features of perfcounters is the most
high-quality information one can get about the page allocator IMO.
This is my general point: instead of wasting time and effort
extending derived information, why not expose the core information?
When the tracepoints are off there is essentially no overhead.
(which is an added benefit - all the /proc/vmstat bits are collected
unconditionally and then have to be summed up from all cpus when
read out.)
> > this perf stuff is immensely flexible and a very unixish
> > abstraction. The perf.data contains timestamped trace entries of
> > page allocations and freeing done.
> >
> > [...]
> > > It would be nice to at least partially remove the vmstat/meminfo
> > > infrastructure but I don't think we can do that?
> >
> > at least meminfo is an ABI for sure - vmstat too really.
> >
> > But we can stop adding new fields into obsolete, inflexible and
> > clearly deficient interfaces, and we can standardize new
> > instrumentation to use modern instrumentation facilities - i.e.
> > tracepoints and perfcounters.
>
> That's bad. Is there really no way in which we can consolidate
> _any_ of that infrastructure? We just pile in new stuff alongside
> the old?
>
> The worst part is needing two unrelated sets of userspace tools to
> access basically-identical things.
We certainly should expose the full set of information to the new
facility, so that it's self-sufficient and does not have to go
digging in /proc for odd bits here and there (in various ad-hoc
formats).
Above i'm arguing that since the old bits are an ABI, they should be
kept but not extended.
btw., this is why i was resisting ad-hoc hacks like kpageflags.
Those special-purpose instrumentation ABIs are hard to get rid of,
and they come nowhere close to the utility of the real thing.
Ingo
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2009-08-05 7:53 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-08-04 18:12 [PATCH 0/4] Add some trace events for the page allocator v3 Mel Gorman
2009-08-04 18:12 ` [PATCH 1/4] tracing, page-allocator: Add trace events for page allocation and page freeing Mel Gorman
2009-08-05 9:13 ` KOSAKI Motohiro
2009-08-05 9:40 ` Mel Gorman
2009-08-07 1:17 ` KOSAKI Motohiro
2009-08-07 17:31 ` Mel Gorman
2009-08-08 5:44 ` KOSAKI Motohiro
2009-08-04 18:12 ` [PATCH 2/4] tracing, mm: Add trace events for anti-fragmentation falling back to other migratetypes Mel Gorman
2009-08-05 9:26 ` KOSAKI Motohiro
2009-08-04 18:12 ` [PATCH 3/4] tracing, page-allocator: Add trace event for page traffic related to the buddy lists Mel Gorman
2009-08-05 9:24 ` KOSAKI Motohiro
2009-08-05 9:43 ` Mel Gorman
2009-08-07 1:03 ` KOSAKI Motohiro
2009-08-04 18:12 ` [PATCH 4/4] tracing, page-allocator: Add a postprocessing script for page-allocator-related ftrace events Mel Gorman
2009-08-04 18:22 ` Andrew Morton
2009-08-04 18:27 ` Rik van Riel
2009-08-04 19:13 ` Andrew Morton
2009-08-04 20:48 ` Mel Gorman
2009-08-05 7:41 ` Ingo Molnar
2009-08-05 9:07 ` Mel Gorman
2009-08-05 9:16 ` Ingo Molnar
2009-08-05 10:27 ` Johannes Weiner
2009-08-06 15:48 ` Mel Gorman
2009-08-05 14:53 ` Larry Woodman
2009-08-06 15:54 ` Mel Gorman
2009-08-04 19:57 ` Ingo Molnar
2009-08-04 20:18 ` Andrew Morton
2009-08-04 20:35 ` Ingo Molnar
2009-08-04 20:53 ` Andrew Morton
2009-08-05 7:53 ` Ingo Molnar [this message]
2009-08-05 13:04 ` Peter Zijlstra
2009-08-05 15:07 ` Valdis.Kletnieks
2009-08-05 14:53 ` Valdis.Kletnieks
2009-08-06 15:50 ` Mel Gorman
2009-08-05 3:07 ` KOSAKI Motohiro
-- strict thread matches above, loose matches on Subject: below --
2009-07-29 21:05 [RFC PATCH 0/4] Add some trace events for the page allocator v2 Mel Gorman
2009-07-29 21:05 ` [PATCH 4/4] tracing, page-allocator: Add a postprocessing script for page-allocator-related ftrace events Mel Gorman
2009-07-30 13:45 ` Rik van Riel
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=20090805075303.GG19322@elte.hu \
--to=mingo@elte.hu \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lwoodman@redhat.com \
--cc=mel@csn.ul.ie \
--cc=penberg@cs.helsinki.fi \
--cc=peterz@infradead.org \
--cc=riel@redhat.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).