[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.