xfs
[Top] [All Lists]

Re: [PATCH 1/2] xfs: unlock items before allowing the CIL to commit

To: Dave Chinner <david@xxxxxxxxxxxxx>
Subject: Re: [PATCH 1/2] xfs: unlock items before allowing the CIL to commit
From: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Date: Fri, 30 Jul 2010 04:49:36 -0400
Cc: xfs@xxxxxxxxxxx, npiggin@xxxxxxxxx
In-reply-to: <1280444146-14540-2-git-send-email-david@xxxxxxxxxxxxx>
References: <1280444146-14540-1-git-send-email-david@xxxxxxxxxxxxx> <1280444146-14540-2-git-send-email-david@xxxxxxxxxxxxx>
User-agent: Mutt/1.5.20 (2009-08-17)
On Fri, Jul 30, 2010 at 08:55:45AM +1000, Dave Chinner wrote:
> From: Dave Chinner <dchinner@xxxxxxxxxx>
> 
> When we commit a transaction using delayed logging, we need to
> unlock the items in the transaciton before we unlock the CIL context
> and allow it to be checkpointed. If we unlock them after we release
> the CIl context lock, the CIL can checkpoint and complete before
> we free the log items. This breaks stale buffer item unlock and
> unpin processing as there is an implicit assumption that the unlock
> will occur before the unpin.
> 
> Also, some log items need to store the LSN of the transaction commit
> in the item (inodes and EFIs) and so can race with other transaction
> completions if we don't prevent the CIL from checkpointing before
> the unlock occurs.

Looks good.  It also avoid keeping the items around over the CIL push,
which should help with memory consumption under load.

Reviewed-by: Christoph Hellwig <hch@xxxxxx>

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