[OpenAFS] openafs on Fedora 12?

Simon Wilkinson sxw@inf.ed.ac.uk
Fri, 11 Dec 2009 17:39:45 +0000


On 11 Dec 2009, at 12:41, Rainer Toebbicke wrote:
>
>
> the afs that we distribute (as part of SLC - Scientific Linux for  
> CERN) works with chunk files directly from the  
> afs_linux_{read,write} entry points, namely in order to avoid the  
> double copy and footprint.

That's an interesting approach - I'd like to see that code! My only  
worry would be that this is a relatively non-standard way of using the  
VFS interface. There are codepaths in the kernel which will call  
readpage() without calling read() or mmap() - so you need to be able  
to switch between the two interfaces - but it's certainly an  
interesting way of avoiding the double mapping problem, and a number  
of copies.

> We only go through the VM when the file gets mmapped (nopage/ 
> readpage), which except for 'ld' and running binaries does not  
> happen very often.

There are a few other interfaces which benefit from the use of  
mappings. splice_write/splice_read, and the related sendfile/sendpage  
are the most obvious of these. I guess we could reimplement these in  
terms of direct operations on the backing chunk, rather than using the  
current default implementations, but I would start to worry about  
maintainability.

> We've been running that code for some 3-4 years now, alas I never  
> got around to benchmarking it properly. Apart from very small buffer  
> sizes I don't see why avoiding another copy could slow things down,  
> though.

I certainly can't see it making things any slower than they are in 1.4

> I was about to submit it to openafs.org once when I discovered that  
> I had accidentally messed up the read-ahead. And then forgot again...
>
> It's for 1.4, though. I'd have to look at 1.5.


It would be great to see a 1.4 patch, even if it wasn't ready to go  
into the tree.

Cheers,

Simon.