* Steven Rostedt <[email protected]> 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|