From: Ingo Molnar <mingo@elte.hu>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: "KOSAKI Motohiro" <kosaki.motohiro@jp.fujitsu.com>,
"Larry Woodman" <lwoodman@redhat.com>,
"Fr馘駻ic Weisbecker" <fweisbec@gmail.com>,
"Li Zefan" <lizf@cn.fujitsu.com>,
"Pekka Enberg" <penberg@cs.helsinki.fi>,
eduard.munteanu@linux360.ro, linux-kernel@vger.kernel.org,
linux-mm@kvack.org, riel@redhat.com, rostedt@goodmis.org
Subject: Re: [Patch] mm tracepoints update - use case.
Date: Thu, 23 Apr 2009 10:42:33 +0200 [thread overview]
Message-ID: <20090423084233.GF599@elte.hu> (raw)
In-Reply-To: <20090422215055.5be60685.akpm@linux-foundation.org>
* Andrew Morton <akpm@linux-foundation.org> wrote:
> On Thu, 23 Apr 2009 09:48:04 +0900 (JST) KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote:
>
> > > On Wed, 2009-04-22 at 08:07 -0400, Larry Woodman wrote:
> > > > On Wed, 2009-04-22 at 11:57 +0200, Ingo Molnar wrote:
> > > > > * KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote:
> > >
> > > > > > In past thread, Andrew pointed out bare page tracer isn't useful.
> > > > >
> > > > > (do you have a link to that mail?)
>
> http://lkml.indiana.edu/hypermail/linux/kernel/0903.0/02674.html
>
> And Larry's example use case here tends to reinforce what I said then. Look:
>
> : In addition I could see that the priority was decremented to zero and
> : that 12342 pages had been reclaimed rather than just enough to satisfy
> : the page allocation request.
> :
> : -----------------------------------------------------------------------------
> : # tracer: nop
> : #
> : # TASK-PID CPU# TIMESTAMP FUNCTION
> : # | | | | |
> : <mem>-10723 [005] 6976.285610: mm_directreclaim_reclaimzone: reclaimed=12342, priority=0
>
> and
>
> : -----------------------------------------------------------------------------
> : # tracer: nop
> : #
> : # TASK-PID CPU# TIMESTAMP FUNCTION
> : # | | | | |
> : <mem>-10723 [005] 282.776271: mm_pagereclaim_shrinkzone: reclaimed=12342
> : <mem>-10723 [005] 282.781209: mm_pagereclaim_shrinkzone: reclaimed=3540
> : <mem>-10723 [005] 282.801194: mm_pagereclaim_shrinkzone: reclaimed=7528
> : -----------------------------------------------------------------------------
>
> This diagnosis was successful because the "reclaimed" number was
> weird. By sheer happy coincidence, page-reclaim is already
> generating the aggregated numbers for us, and the tracer just
> prints it out.
>
> If some other problem is being worked on and if there _isn't_ some
> convenient already-present aggregated result for the tracer to
> print, the problem won't be solved. Unless a vast number of trace
> events are emitted and problem-specific userspace code is written
> to aggregate them into something which the developer can use.
Not so in the usescases i made use of tracers. The key is not to
trace everything, but to have a few key _concepts_ traced
pervasively. Having a dynamic notion of a per event changes is also
obviously good. In a fast changing workload you cannot just tell
based on summary statistics whether rapid changes are the product of
the inherent entropy of the workload, or the result of the MM being
confused.
/proc/ statisitics versus good tracing is like the difference
between a magnifying glass and an electron microscope. Both have
their strengths, and they are best if used together.
One such conceptual thing in the scheduler is the lifetime of a
task, its schedule, deschedule and wakeup events. It can already
show a massive amount of badness in practice, and it only takes a
few tracepoints to do.
Same goes for the MM IMHO. Number of pages reclaimed is obviously a
key metric to follow. Larry is an expert who fixed a _lot_ of MM
crap in the last 5-10 years at Red Hat, so if he says that these
tracepoints are useful to him, we shouldnt just dismiss that
experience like that. I wish Larry spent some of his energies on
fixing the upstream MM too ;-)
A balanced number of MM tracepoints, showing the concepts and the
inner dynamics of the MM would be useful. We dont need every little
detail traced (we have the function tracer for that), but a few key
aspects would be nice to capture ...
pagefaults, allocations, cache-misses, cache flushes and how pages
shift between various queues in the MM would be a good start IMHO.
Anyway, i suspect your answer means a NAK :-( Would be nice if you
would suggest a path out of that NAK.
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-04-23 8:42 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-21 22:45 [Patch] mm tracepoints update Larry Woodman
2009-04-22 1:00 ` KOSAKI Motohiro
2009-04-22 9:57 ` Ingo Molnar
2009-04-22 12:07 ` Larry Woodman
2009-04-22 19:22 ` [Patch] mm tracepoints update - use case Larry Woodman
2009-04-23 0:48 ` KOSAKI Motohiro
2009-04-23 4:50 ` Andrew Morton
2009-04-23 8:42 ` Ingo Molnar [this message]
2009-04-23 11:47 ` Larry Woodman
2009-04-24 20:48 ` Larry Woodman
2009-06-15 18:26 ` Rik van Riel
2009-06-17 14:07 ` Larry Woodman
2009-06-18 7:57 ` KOSAKI Motohiro
2009-06-18 19:22 ` Larry Woodman
2009-06-18 19:40 ` Rik van Riel
2009-06-22 3:37 ` KOSAKI Motohiro
2009-06-22 15:04 ` Larry Woodman
2009-06-23 5:52 ` KOSAKI Motohiro
2009-06-22 3:37 ` KOSAKI Motohiro
2009-06-22 15:28 ` Larry Woodman
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=20090423084233.GF599@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@linux-foundation.org \
--cc=eduard.munteanu@linux360.ro \
--cc=fweisbec@gmail.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lizf@cn.fujitsu.com \
--cc=lwoodman@redhat.com \
--cc=penberg@cs.helsinki.fi \
--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).