Re: [PATCH 1/7] perf_counter: fix dynamic irq_period logging

From: Peter Zijlstra
Date: Mon May 25 2009 - 03:20:13 EST


On Mon, 2009-05-25 at 10:08 +1000, Paul Mackerras wrote:
> Peter Zijlstra writes:
>
> > We call perf_adjust_freq() from perf_counter_task_tick() which is is called
> > under the rq->lock causing lock recursion.
>
> What was the lock recursion? I see perf_adjust_freq taking ctx->lock,
> but we were careful not to take any rq->lock within a ctx->lock, at
> least in the past.

perf_output_end() can end up calling a wake_up().

perf_output_end()
perf_output_unlock()
perf_output_wakeup()
perf_counter_wakeup()
wake_up_all();



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