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