[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090527054921.GA4127@localhost.localdomain>
Date: Wed, 27 May 2009 07:49:21 +0200
From: Damien Wyart <damien.wyart@...e.fr>
To: Jens Axboe <jens.axboe@...cle.com>
Cc: linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
chris.mason@...cle.com, david@...morbit.com, hch@...radead.org,
akpm@...ux-foundation.org, jack@...e.cz,
yanmin_zhang@...ux.intel.com, richard@....demon.co.uk
Subject: Re: [PATCH 0/12] Per-bdi writeback flusher threads v7
> > > 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).
Hope this helps,
--
Damien Wyart
View attachment "sysrq_t.gz" of type "text/plain" (5698 bytes)
Powered by blists - more mailing lists