xfs
[Top] [All Lists]

Re: [PATCH 0/2] xfs: fix AGF/alloc workqueue deadlock.

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 0/2] xfs: fix AGF/alloc workqueue deadlock.
From: Ben Myers <bpm@xxxxxxx>
Date: Thu, 18 Oct 2012 17:51:36 -0500
Cc: xfs@xxxxxxxxxxx
In-reply-to: <1349399219-13024-1-git-send-email-david@xxxxxxxxxxxxx>
References: <1349399219-13024-1-git-send-email-david@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.20 (2009-06-14)
Hi Dave,

On Fri, Oct 05, 2012 at 11:06:57AM +1000, Dave Chinner wrote:
> This is a followup from the last conversation with Mark about this
> deadlock. I haven't heard anything in the last coupl eof days, so I
> figured I'd just write the patches that did what I thought is
> needed.
> 
> Basically, the stack switch is only needed for userdata in the
> delayed allocation path, and nowhere else at this point in time. To
> make it so we switch stacks only at this point in time, I introduced
> a flag to pass to xfs_bmapi_write(). This means we don't switch
> stacks during direct IO, unwritten extent conversion or
> preallocation via fallocate/XFS_IOC_RESVSP.
> 
> I then moved the stack switch to xfs_bmapi_allocate(), which is
> where allocation happens. All the allocation calls within a single
> userdata extent allocation occur in this function (both data extent
> and bmap btree blocks), so switching stacks here will ensure that
> only mapping calls that require allocation will have the stack
> switched.
> 
> Comments welcome...

These two patches have been committed to git://oss.sgi.com/xfs/xfs.git, master
and for-next branches.

Regards,
        Ben

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