Re: [PATCH 5/6] perf_counter: add more context information

From: Ingo Molnar
Date: Thu Apr 02 2009 - 07:37:02 EST



* Peter Zijlstra <a.p.zijlstra@xxxxxxxxx> wrote:

> Put in counts to tell which ips belong to what context.
>
> -----
> | | hv
> | --
> nr | | kernel
> | --
> | | user
> -----

btw., i have an observation about the format:

> -#define MAX_STACK_DEPTH 255
> +#define MAX_STACK_DEPTH 254
>
> struct perf_callchain_entry {
> - u64 nr;
> + u32 nr, hv, kernel, user;
> u64 ip[MAX_STACK_DEPTH];
> };

For the special case of signal notifications, if the signal is
delivered immediately to the same task that raised it (pid=0), the
call chain is actually a still meaningful one: it is the stack that
is below the currently executing signal handler context.

Wouldnt it make sense to record the full stack frame for that case,
to allow walking/unwinding of the stack? Or can user-space do that
just fine, based on its own signal context?

We are going to hard-code the "call-chain is a series of IPs,
nothing else" model, and i'd like to make sure it's future-proof :)

Ingo
--
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/