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

Andrew Morton
2009-08-04T20:55:01Z

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?

In what way is it superior to existing ways of finding leaks?

> 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.