Re: [PATCH 1/3] add releasepage hooks to block devices which can be used by file systems
From: Theodore Tso <tytso@mit.edu>
Date: 2009-01-05 16:05:22
Also in:
linux-fsdevel
From: Theodore Tso <tytso@mit.edu>
Date: 2009-01-05 16:05:22
Also in:
linux-fsdevel
On Mon, Jan 05, 2009 at 05:16:08PM +0900, Toshiyuki Okajima wrote:
I was confirming whether the kernel to which your new patch is applied can run without trouble. But unfortunately, I got a hangup problem. Now I am investigating the root cause. After I investigated it for a little time, I think calling log_wait_commit() from journal_try_to_free_buffers() can cause it.
Sounds like a deadlock caused by the fact that we're no longer masking __GFP_WAIT, probably on journal->j_wait_done_commit. Presumably the system came under pressure during a commit operation, which makes sense, and so we ended up with a deadlock between kjournald and kswapd. The fix is pretty simple; we just need to mask out the __GFP_WAIT in the filesystem-specific callback, since this is a restriction imposed by the filesystem's use of the jbd/jbd2 layer. - Ted