lkml.org 
[lkml]   [2005]   [Aug]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.6.13-rt1

* Steven Rostedt <rostedt@goodmis.org> 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@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-08-30 07:55    [W:0.106 / U:0.836 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site