OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_68-11-g34ffc9c
Gerrit Code Review
gerrit@openafs.org
Thu, 10 Dec 2009 11:46:03 -0800 (PST)
The following commit has been merged in the master branch:
commit 34ffc9cd7d7eed62229704ad0e1d327f076ea7b6
Author: Simon Wilkinson <sxw@inf.ed.ac.uk>
Date: Fri Nov 20 15:08:25 2009 +0000
Linux: Use splice to speed up cache storeback
This patch adds a new cache store function for Linux, which uses
splice() and direct access to the page cache, rather than doing
data copies to a temporary buffer between rx and afs. It removes
one copy, and some context switching, from the write codepath.
One side-effect here is that it will delay storebehinds from
returning control to the user. Instead of returning once the first
4k has been successfully transfered, we will wait until a cache
chunk has been transmitted. This is currently unavoidable, as we
can't take the GLOCK within a splice actor.
Change-Id: I5b0284d67febccf099710589908fad18b808332c
Reviewed-on: http://gerrit.openafs.org/903
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
acinclude.m4 | 1 +
src/afs/LINUX/osi_fetchstore.c | 181 +++++++++++++++++++++++++++++++++++++
src/afs/afs_fetchstore.c | 3 +
src/afs/afs_prototypes.h | 5 +
src/cf/linux-test4.m4 | 13 +++
src/libafs/Makefile.common.in | 2 +
src/libafs/MakefileProto.LINUX.in | 3 +-
7 files changed, 207 insertions(+), 1 deletions(-)
--
OpenAFS Master Repository