Re: [PATCH 0/12] Per-bdi writeback flusher threads v7

From: Jens Axboe
Date: Wed May 27 2009 - 05:21:05 EST


On Wed, May 27 2009, Damien Wyart wrote:
> > > > OK, I spotted the problem. If we fallback to the on-stack allocation in
> > > > bdi_writeback_all(), then we do the wait for the work completion with
> > > > the bdi_lock mutex held. This can deadlock with bdi_forker_task(), so if
> > > > we require that to be invoked to make progress (happens if a thread
> > > > needs to be restarted), then we have a deadlock on that mutex.
>
> > > > I'll cook up a fix for this, but probably not before the morning.
>
> > > Untested fix. I think it should work, but I haven't run it here yet.
>
> > Thanks for your feedback and explanations. Will not be able to test the
> > patch before the afternoon. Will then give feedback as soon as I can. Of
> > course, I can also test a new fix or series if you send one in the
> > morning, after your own testing.
>
> Just ran a quick test with your fix applied and ran into the same
> problem: manual sync stays in D state. I could capture SysRq-T, I am
> attaching part of the output (which was very big and continuously
> displaying).

Yeah, that patch was still buggy. I have it fixed now locally, I'll post
a v8 within the hour!

--
Jens Axboe

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