[Ocfs2-devel] [PATCH 6/6] ocfs2: Revert iput deferring code in ocfs2_drop_dentry_lock

Jan Kara jack at suse.cz
Tue Feb 25 13:18:08 PST 2014


On Tue 25-02-14 12:02:36, Mark Fasheh wrote:
> 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>
  Thanks for review Mark!

								Honza

> 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
-- 
Jan Kara <jack at suse.cz>
SUSE Labs, CR



More information about the Ocfs2-devel mailing list