Re: [BUG] perf: hard lockup when using perf-sched

From: Mike Galbraith
Date: Thu Mar 25 2010 - 05:27:31 EST


On Thu, 2010-03-25 at 16:04 +0800, Li Zefan wrote:
> Mike Galbraith wrote:
> > On Wed, 2010-03-24 at 08:32 +0100, Mike Galbraith wrote:
> >
> >> I just saw this, hunted down your testcase and tried it here. Looks
> >> like perf_output_lock() wedged box.
> >
> > (turns on frame pointers, and adds noinline)
> >
>
> Thanks! Then who's going to fix this...

Well, that kinda depends on whether I figure out how the heck it's all
supposed to work before somebody else whacks it or not.

ATM, I've instrumented, know _what's_ happening, but find myself saying
"wtf?" a lot, especially wrt handle->locked. The act of attempting to
lock a handle declares it unlocked, turning perf_output_unlock() into a
noop, which looks a bit strange. We're spinning on those "unlocked"
locks, all left genuinely locked by one CPU. I just whacked the thing,
and am very likely about to see in yet another trace.

Locking is hard, "curious construct" locking is even harder :)

-Mike

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