Re: [PATCH 1/3] printk: Release console_sem after logbuf_lock

Peter Zijlstra
2011-06-10T12:43:05Z

On Fri, 2011-06-10 at 14:41 +0200, Peter Zijlstra wrote:
> On Fri, 2011-06-10 at 14:34 +0200, Ingo Molnar wrote:
> > * Peter Zijlstra <peterz@infradead.org> wrote:
> >
> > > thinking that that would have my printk stmts appear on both the
> > > fbcon as well as the serial line. But they fail to appear on the
> > > latency tracer (current max was 165us waking an idle cpu).
> >
> > Have you removed this bit:
> >
> > spin_unlock(&logbuf_lock);
> > stop_critical_timings(); /* don't trace print latency */
> > call_console_drivers(_con_start, _log_end);
> > start_critical_timings();
> > local_irq_restore(flags);
> >
> > which hides the latencies from the latency tracer?
>
> it shouldn't those flags come from spin_lock_irqsave(), which already
> has IRQs disabled, so the restore shouldn't re-enable them.
>
> Hmm,. that might actually already be true for mainline too, yeah, looks
> like we call vprintk()->console_unlock() with IRQs-disabled.
>
> Hohumm..

Also, I used the preemptirqoff tracer, so even if it did re-enable
interrupts we should still have preemption disabled and still catch the
latency.