[Ocfs2-devel] [PATCH 6/6] ocfs2: Revert iput deferring code in ocfs2_drop_dentry_lock
Mark Fasheh
mfasheh at suse.de
Tue Feb 25 12:02:36 PST 2014
I think I would have preferred this be broken up to make review easier. That
said, I didn't find anything wrong with the code changes (which took me
longer to review, etc)
Reviewed-by: Mark Fasheh <mfasheh at suse.de>
On Fri, Feb 21, 2014 at 10:45:04AM +0100, Jan Kara wrote:
> From: Goldwyn Rodrigues <rgoldwyn at suse.de>
>
> The following patches are reverted in this patch because these
> patches caused performance regression in the remote unlink() calls.
>
> ea455f8ab68338ba69f5d3362b342c115bea8e13 - ocfs2: Push out dropping
> of dentry lock to ocfs2_wq
> f7b1aa69be138ad9d7d3f31fa56f4c9407f56b6a - ocfs2: Fix deadlock on umount
> 5fd131893793567c361ae64cbeb28a2a753bbe35 - ocfs2: Don't oops in
> ocfs2_kill_sb on a failed mount
>
> Previous patches in this series removed the possible deadlocks from
> downconvert thread so the above patches shouldn't be needed anymore.
>
> The regression is caused because these patches delay the iput() in case
> of dentry unlocks. This also delays the unlocking of the open lockres.
> The open lockresource is required to test if the inode can be wiped from
> disk or not. When the deleting node does not get the open lock, it marks
> it as orphan (even though it is not in use by another node/process)
> and causes a journal checkpoint. This delays operations following the
> inode eviction. This also moves the inode to the orphaned inode
> which further causes more I/O and a lot of unneccessary orphans.
>
--
Mark Fasheh
More information about the Ocfs2-devel
mailing list