Re: rename() contention (BUG?)

From: Avi Kivity
Date: Thu Oct 26 2006 - 17:20:28 EST


Al Viro wrote:
On Thu, Oct 26, 2006 at 08:43:34PM +0200, Avi Kivity wrote:
The changes make the mutex more efficient, but won't decrease the contention. It seems that all renames in one filesystem are serialized, and if the renames require I/O (which is certainly the case with nfs), rename throughput is severely limited.

They are, and for a good reason. For details see
Documentation/filesystems/directory-locking.

Is it possible to lock only the common subtree of the two paths?

Perhaps walk towards the root of the tree, starting with the deeper path, locking one component at a time. Then walk both paths together locking components ordered by something to avoid deadlock.

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/