From 973c84add11337bad45ab3e4e5c566107aa1c130 Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Sun, 23 Nov 2008 21:24:30 +0200 Subject: [PATCH] --- yaml --- r: 119415 b: refs/heads/master c: 7ee1768ddb3075ae3a0801cc2d0ea4195530a7db h: refs/heads/master i: 119413: aa963e00b67b9774dfc6dd973787de64af7a9654 119411: 85ede0e27867e1e551f8d7c912cf4347347d0cb6 119407: ec55759462c4844b344b2fe6b4035d6cd438867b v: v3 --- [refs] | 2 +- trunk/kernel/trace/trace_mmiotrace.c | 16 +++++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/[refs] b/[refs] index afd71d8572e2..5f37f532d1ac 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 522a110b42b306d696cf84e34c677ed0e7080194 +refs/heads/master: 7ee1768ddb3075ae3a0801cc2d0ea4195530a7db diff --git a/trunk/kernel/trace/trace_mmiotrace.c b/trunk/kernel/trace/trace_mmiotrace.c index f28484618ff0..e62cbf78eab6 100644 --- a/trunk/kernel/trace/trace_mmiotrace.c +++ b/trunk/kernel/trace/trace_mmiotrace.c @@ -18,12 +18,14 @@ struct header_iter { static struct trace_array *mmio_trace_array; static bool overrun_detected; +static unsigned long prev_overruns; static void mmio_reset_data(struct trace_array *tr) { int cpu; overrun_detected = false; + prev_overruns = 0; tr->time_start = ftrace_now(tr->cpu); for_each_online_cpu(cpu) @@ -128,16 +130,12 @@ static void mmio_close(struct trace_iterator *iter) static unsigned long count_overruns(struct trace_iterator *iter) { - int cpu; unsigned long cnt = 0; -/* FIXME: */ -#if 0 - for_each_online_cpu(cpu) { - cnt += iter->overrun[cpu]; - iter->overrun[cpu] = 0; - } -#endif - (void)cpu; + unsigned long over = ring_buffer_overruns(iter->tr->buffer); + + if (over > prev_overruns) + cnt = over - prev_overruns; + prev_overruns = over; return cnt; }