[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140527174847.7b405b5c@gandalf.local.home>
Date: Tue, 27 May 2014 17:48:47 -0400
From: Steven Rostedt <rostedt@...dmis.org>
To: Arnd Bergmann <arnd@...db.de>
Cc: Stephen Boyd <sboyd@...eaurora.org>,
Frederic Weisbecker <fweisbec@...il.com>,
Ingo Molnar <mingo@...hat.com>, linux-kernel@...r.kernel.org,
Corey Minyard <cminyard@...sta.com>,
Stanislav Meduna <stano@...una.org>
Subject: Re: [PATCH v2] tracing: Don't account for cpu idle time with
irqsoff tracers
On Tue, 27 May 2014 22:11:25 +0200
Arnd Bergmann <arnd@...db.de> wrote:
> On Tuesday 27 May 2014 13:08:04 Stephen Boyd wrote:
> > @@ -380,7 +382,7 @@ start_critical_timing(unsigned long ip, unsigned long parent_ip)
> >
> > cpu = raw_smp_processor_id();
> >
> > - if (per_cpu(tracing_cpu, cpu))
> > + if (per_cpu(timings_stopped, cpu) || per_cpu(tracing_cpu, cpu))
> > return;
> >
> > data = per_cpu_ptr(tr->trace_buffer.data, cpu);
> >
>
> Where exactly do you see other code calling here while
> per_cpu(timings_stopped) is set? Would it be possible to just
> change that call site?
Arnd brings up a good point. If we disable irqs off tracing completely,
we may be missing places in the idle path that disable interrupts for
long periods of time. We may want to move the stop down further.
The way it works (IIRC), and why tracing can start again is that it can
nest. Perhaps we need to stop it further down if we can't move it
completely.
-- Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists