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.
Cheers, Simon. _______________________________________________ OpenAFS-info mailing list [email protected] https://lists.openafs.org/mailman/listinfo/openafs-info
