Re: [patch, resend] x86, perf_counter, bts: optimize BTS overflowhandling

From: Peter Zijlstra
Date: Tue Sep 15 2009 - 07:12:36 EST


Totally missed the first one, sorry for that :/

On Tue, 2009-09-15 at 13:00 +0200, Markus Metzger wrote:
> Draining the BTS buffer on a buffer overflow interrupt takes too long
> resulting in a kernel lockup when tracing the kernel.
>
> Restructure perf_counter sampling into sample creation and sample
> output.
> Prepare a single reference sample for BTS sampling and update the from
> and to address fields when draining the BTS buffer.
> Drain the entire BTS buffer between a single perf_output_begin() /
> perf_output_end() pair.

Generally looks very nice, one thing though, why did you take regs out
of perf_sample_data, now you get to pass around one extra param..

> CC: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> Signed-off-by: Markus Metzger <markus.t.metzger@xxxxxxxxx>
> ---
> arch/x86/kernel/cpu/perf_counter.c | 60 37 + 23 - 0 !
> include/linux/perf_counter.h | 68 64 + 4 - 0 !
> kernel/perf_counter.c | 306 161 + 145 - 0 !
> 3 files changed, 262 insertions(+), 172 deletions(-)

What is that diffstat thing? I always get things like:

kernel/sched.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)


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