OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-499-g4a2d197
Gerrit Code Review
gerrit@openafs.org
Sun, 28 Nov 2010 21:23:31 -0800 (PST)
The following commit has been merged in the master branch:
commit 4a2d1973fc5c2aac05beef5d64e7a486757c54af
Author: Marc Dionne <marc.c.dionne@gmail.com>
Date: Tue Nov 23 19:08:24 2010 -0500
Cache bypass: switch to rx_Readv
Tests show that cache bypass doesn't scale very well past a few
concurrent processes, with a lot of lock contention in the RX
layer. Switching the implementation to the iovec based rx_Readv
alleviates much of this.
Also take advantage of the fact that the upper layer readpages
only sends down contiguous lists of pages, and issue larger read
requests and populate the pagecache pages from the iovecs we
get back. The loop logic is changed significantly to accomodate
the new pattern.
Read throughput is improved by about 30-40% for some parallel read
benchmarks I use. Along with some other tweaks, it can allow the
throughput to be more than doubled.
Change-Id: I56877ec15eba035429bd4ea32731687c862f151f
Reviewed-on: http://gerrit.openafs.org/3375
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
src/afs/afs_bypasscache.c | 106 ++++++++++++++++++++++++--------------------
1 files changed, 58 insertions(+), 48 deletions(-)
--
OpenAFS Master Repository