OpenAFS CVS Commit: openafs/src/afs/SOLARIS by shadow

cvs@GRAND.CENTRAL.ORG cvs@GRAND.CENTRAL.ORG
Mon, 06 Aug 2001 19:39:32 EDT


Update of /cvs/openafs/src/afs/SOLARIS
In directory GRAND.CENTRAL.ORG:/data/sb/openafs/src/afs/SOLARIS

Modified Files:
	osi_vnodeops.c 
Log Message:
DELTA solaris-locking-cleanup-20010806
AUTHOR kolya@mit.edu

reduce afs vnode lock contention, also implements async page requests

"(In afs_GetDCache, the hints in the vnode are only updated if we
can grab the write lock without blocking.  In afs_GetOnePage, we
only grab the read lock, rather than the shared lock -- as far as
I can tell, there's nothing that needs the write lock.)

FWIW, the particular case where I was being bitten by this lock
contention was playing an mp3 from AFS space and at the same time
copying it to local disk.  The copy kept fetching chunks while
holding the read lock, so the mp3 player couldn't grab a write
lock in the page fault, even though the data was already in cache.

While I'm not fully familiar with the semantics of afs vnode locks
[do they even exist? :-)], I believe changing from shared to read
locks in afs_GetOnePage should be safe."


--- DELTA config follows ---
solaris-locking-cleanup-20010806 openafs/src/afs/SOLARIS/osi_vnodeops.c 1.6 1.7