xfs
[Top] [All Lists]

Re: [PATCH 1/2] XFS: Prevent unwritten extent conversion from blocking I

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 1/2] XFS: Prevent unwritten extent conversion from blocking I/O completion
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Mon, 16 Mar 2009 05:21:24 -0400
Cc: xfs@xxxxxxxxxxx
In-reply-to: <1237117243-25940-2-git-send-email-david@xxxxxxxxxxxxx>
References: <1237117243-25940-1-git-send-email-david@xxxxxxxxxxxxx> <1237117243-25940-2-git-send-email-david@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.18 (2008-05-17)
On Sun, Mar 15, 2009 at 10:40:42PM +1100, Dave Chinner wrote:
> Unwritten extent conversion can recurse back into the filesystem due
> to memory allocation. Memory reclaim requires I/O completions to be
> processed to allow the callers to make progress. If the I/O
> completion workqueue thread is doing the recursion, then we have a
> deadlock situation.
> 
> Move unwritten extent completion into it's own workqueue so it
> doesn't block I/O completions for normal delayed allocation or
> overwrite data.

Hmm.   That was the original reason behind splitting the data from
xfsbufd queue.  So maybe the split should be just unwritten vs the
rest and three queues?

Btw, do you have a testcase that can reproduce this?

<Prev in Thread] Current Thread [Next in Thread>