[AFS3-std] File Server/Cache Manager Extended Status Information
Jeffrey Hutzelman
jhutz@cmu.edu
07 Apr 2008 20:56:00 -0400
Actually, it may turn out that the improvement you get is the other way around. The file may change several times while someone else continues to hold the lock.
-----Original Message-----
From: Jeffrey Altman <jaltman@secure-endpoints.com>
Date: Monday, Apr 7, 2008 8:06 pm
Subject: Re: [AFS3-std] File Server/Cache Manager Extended Status Information
To: jhutz@cmu.edu
CC: matt@linuxbox.com, afs3-standardization@openafs.orgReply-To: jaltman@secure-endpoints.com
Jeffrey Hutzelman wrote:
> --On Monday, April 07, 2008 04:18:49 PM -0400 Jeffrey Altman
> <jaltman@secure-endpoints.com> wrote:
>
>>> As opposed to the existing model in which
>>
>> 1. client A requests block byte range write lock on fid 1.2.3
>> 2. server replies EWOULDBLOCK
>> 3. another client drops the held lock
>> 4. server sends client A a callback indicating that the lock state on
>> fid 1.2.3 has changed
>> 5. client decides whether or not to request the lock again. if so,
>> go to 1
>
>> Actually, last I checked (about 3 seconds ago) the existing model is
> that after the server replies EWOULDBLOCK, client A sleeps for 1
> second and tries again. What you describe would be a significant
> improvement, and requires only that the clients change, since
> RXAFS_LockRelease has done a callback on release of the last lock for
> some time.
>The UNIX cache manager retries in 1 second because no effort has been done to optimize it.
>The Windows cache manager has a much more sophisticated lock allocation and request tracking model that would immediately make use of a informative callback notification that the lock has been dropped. Now the callback notification must clear the status info as well as the lock state so the overhead is a bit too high to use for locking requests.
>The real savings will come from being able to preserve the status info for a lock notification (provided that we specify that the lock drop notification does not clear the callback registration.)
>
>
>
>