[Gluster-devel] Reduce number of inodelk/entrylk calls on ec xlator
Pranith Kumar Karampuri
pkarampu at redhat.com
Thu Jul 3 09:38:26 UTC 2014
On 07/03/2014 02:24 PM, Xavier Hernandez wrote:
> On Thursday 03 July 2014 07:40:45 Pranith Kumar Karampuri wrote:
>> On 07/01/2014 04:52 PM, Xavier Hernandez wrote:
>>> Hi,
>>>
>>> current implementation of ec xlator uses inodelk/entrylk before each
>>> operation to guarantee exclusive access to the inode. This implementation
>>> blocks any other request to the same inode/entry until the previous
>>> operation has completed and unlocked it.
>>>
>>> This adds a lot of latency to each operation, even if there are no
>>> conflicts with other clients. To improve this I was thinking to implement
>>> something similar to eager-locking and piggy-backing.
>> I think we should make eager-locking, piggy-backing to separate xlators.
>> Let me see if we can do that.
> Do you mean to create some sort of locks xlator on the client side to
> intercept multiple locks, and automatically grant them if domain, owner and
> user are the same ?
No, Istead of taking multiple small locks, it will take one FULL file
lock all operations on that fd piggyback on it this also xlator should
also prevent overlapping writes to go through. If more than one fd is
open it will back off and gets disabled. Afr uses this to reduce number
of inodelks on the wire.
Pranith
More information about the Gluster-devel
mailing list