Re: [PATCH 2/2] perf: Add a new sort order: SORT_INCLUSIVE

From: Arun Sharma
Date: Thu Mar 08 2012 - 13:22:30 EST


On Thu, Mar 08, 2012 at 04:39:36PM +0100, Frederic Weisbecker wrote:
>
> I don't yet understand the point of this.
>
> Imagine those three hists:
>
> a -> b -> c
> a -> b -> d
> a-> e -> f
>
> The fractal inverted mode (-G) will report this:
>
> a--
> |
> ----- b
> | |
> | -----c
> | |
> | -----d
> |
> ----- e
> |
> -----f
>

Please see the test program attached. It has only two paths from main()
to c(). But for this discussion, imagine a callgraph with 10 different
paths.

With -G, c() appears 10 times in the callgraph and the user is required
to manually sum up the samples to realize that the callgraph under c()
is very expensive.

With -s inclusive, c() will show up at the very top after main().

-Arun

#include <stdio.h>

int sum = 0;

#define LOOP(n) \
{ \
int j; \
for (j = 0; j < 10000; j++) { \
sum += j; \
} \
}

int f()
{
LOOP(100);
}

int d()
{
LOOP(100);
f();
}

int e()
{
LOOP(100);
f();
}

int c()
{
LOOP(100);
d();
LOOP(100);
e();
}

int b()
{
LOOP(70);
c();
}

int a()
{
LOOP(30);
c();
}

int main()
{
int i;
for (i = 0; i < 10000; i++) {
a();
b();
}
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/