[OpenAFS] openafs on Fedora 12?

Simon Wilkinson sxw@inf.ed.ac.uk
Thu, 10 Dec 2009 21:50:03 +0000

On 10 Dec 2009, at 08:37, Rainer Toebbicke wrote:
> I guess none of those are unsolvable, having just a single file (or  
> set of files on different discs) could make life easier and speed up  
> things by eliminating double buffering (afs's VM cache + cache  
> chunks's VM cache).

There are actually significant speed improvements for Linux already in  
the 1.5.x tree (I spoke about some of these in Rome, and there's been  
more work done since). The routines which move data to and from the  
cache have been rewritten to work in terms of pages, rather than byte  
ranges, and to minimise the number of context switches and copies  
required. When we do need to copy data, this is now done in a separate  
background work thread, which isn't governed by AFS's GLOCK and uses  
kernel work queues to maximise processor use on SMP systems. (Sadly,  
Linux requires that a page can only have one filesystem associated  
with it in its lifetime - so we must copy data between the disk cache  
VM, and AFS's VM)

In addition, a number of bugs with the marking of dirty pages have  
been fixed - the kernel will no longer repeatedly flush the same dirty  
page, and it now correctly flags pages which have been entirely  
overwritten as being up-to-date, avoiding an expensive, and  
unnecessary read from disk.

At some point, I'll do some extensive benchmarking and post proper  
figures, but anecdotally we're seeing significant speed improvements  
for applications which make use of cached data.