Re: Deadlocks due to per-process plugging

From: Mike Galbraith
Date: Sun Jul 15 2012 - 22:22:46 EST


On Sun, 2012-07-15 at 11:14 +0200, Mike Galbraith wrote:
> On Sun, 2012-07-15 at 10:59 +0200, Thomas Gleixner wrote:

> > Can you figure out on which lock the stuck thread which did not unplug
> > due to tsk_is_pi_blocked was blocked?
>
> I'll take a peek.

Sorry for late reply, took a half day away from box. Jan had already
done the full ext3 IO deadlock analysis:

Again kjournald is waiting for buffer IO on block 4367635 (sector
78364838) to finish. Now it is dbench thread 0xffff88026f330e70 which
has submitted this buffer for IO and is still holding this buffer behind
its plug (request for sector 78364822..78364846). The dbench thread is
waiting on j_checkpoint mutex (apparently it has successfully got the
mutex in the past, checkpointed some buffers, released the mutex and
hung when trying to acquire it again in the next loop of
__log_wait_for_space()).

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