OpenAFS Master Repository branch, openafs-devel-1_7_x, updated. openafs-devel-1_7_11-21-g75ddd7d
Gerrit Code Review
gerrit@openafs.org
Fri, 4 May 2012 21:30:49 -0700 (PDT)
The following commit has been merged in the openafs-devel-1_7_x branch:
commit 75ddd7d9fd56aca0dd173ba6040386926ab34aca
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date: Wed May 2 17:52:44 2012 -0400
Windows: refactor cm_GetBuffer avoid BIOD construction
Constructing a BIOD is a very expensive operation as it requires
obtaining exclusive locks on each and every buffer that in the
collection. The prior code would construct a BIOD for a chunk
worth of buffers and then check to see if the current buffer is
beyond the serverLength or the truncation position. If so, the
buffer is cleared and the buffer is returned as current after
releasing the BIOD. This is very wasteful. Instead, check every
buffer in the BIOD to see if it should be made current or not.
If yes, do so before releasing the BIOD. This permits the construction
of the BIOD to be avoided for the rest of the buffers in the chunk.
Reviewed-on: http://gerrit.openafs.org/7314
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
Tested-by: Jeffrey Altman <jaltman@secure-endpoints.com>
(cherry picked from commit a7fec07348889e9455ccec3b5028aec385b83e5f)
Change-Id: Ie7dbf5191e37bba8ed5ad9aab0b840da6ccdeccc
Reviewed-on: http://gerrit.openafs.org/7340
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>
src/WINNT/afsd/cm_dcache.c | 68 ++++++++++++++++++++++++++++++-------------
1 files changed, 47 insertions(+), 21 deletions(-)
--
OpenAFS Master Repository