Re: 2.6.13-rt1

From: Ingo Molnar
Date: Tue Aug 30 2005 - 00:53:09 EST



* Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:

> Ingo,
>
> I just found another deadlock in the pi_lock logic. The PI logic is
> very dependent on the P1->L1->P2->L2->P3 order. But our good old
> friend is back, the BKL.
>
> Since the BKL is let go and regrabbed even if a task is grabbing
> another lock, it messes up the order. For example, it can do the
> following: L1->P1->L2->P2->L1 if L1 is the BKL. Luckly, (and I guess
> there's really no other way) the BKL is only held by those that are
> currently running, or at least not blocked on anyone. So I added code
> in the pi_setprio code to test if the next lock in the loop is the BKL
> and if so, if its owner is the current task. If so, the loop is
> broken.
>
> Without this patch, I would constantly get lock ups on shutdown where
> it sends SIGTERM to all the processes. It usually would lock up on
> the killing of udev. But with the patch, I've shutdown a few times
> already and no lockups so far.

thanks, applied.

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