Re: [PATCH 4/4] tracing, page-allocator: Add a postprocessing script for page-allocator-related ftrace events

Ingo Molnar
2009-08-04T20:36:11Z

* Andrew Morton <akpm@linux-foundation.org> wrote:

> On Tue, 4 Aug 2009 21:57:17 +0200
> Ingo Molnar <mingo@elte.hu> wrote:
>
> > Let me demonstrate these features in action (i've applied the
> > patches for testing to -tip):
>
> So? The fact that certain things can be done doesn't mean that
> there's a demand for them, nor that anyone will _use_ this stuff.

c'mon Andrew ...

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.

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.

I'm not saying to put a tracepoint on every second line of the
kernel, but obviously Mel and Rik wanted this kind of info because
they found it useful in practice.

Ingo