Re: [PATCH] perf: Fix inconsistency between IP and callchainsampling

From: Frederic Weisbecker
Date: Thu Jan 21 2010 - 08:20:28 EST


On Mon, Jan 18, 2010 at 04:47:07PM +1100, Anton Blanchard wrote:
>
> When running perf across all cpus with backtracing (-a -g), sometimes we
> get samples without associated backtraces:
>
> 23.44% init [kernel] [k] restore
> 11.46% init eeba0c [k] 0x00000000eeba0c
> 6.77% swapper [kernel] [k] .perf_ctx_adjust_freq
> 5.73% init [kernel] [k] .__trace_hcall_entry
> 4.69% perf libc-2.9.so [.] 0x0000000006bb8c
> |
> |--11.11%-- 0xfffa941bbbc
>
> It turns out the backtrace code has a check for the idle task and the IP
> sampling does not. This creates problems when profiling an interrupt
> heavy workload (in my case 10Gbit ethernet) since we get no backtraces
> for interrupts received while idle (ie most of the workload).
>
> Right now x86 and sh check that current is not NULL, which should never
> happen so remove that too.
>
> Signed-off-by: Anton Blanchard <anton@xxxxxxxxx>



I'm queuing it. Thanks.

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