OpenAFS Master Repository branch, openafs-devel-1_7_x, updated. openafs-devel-1_7_11-21-g75ddd7d

Gerrit Code Review
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 <>
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.
    Tested-by: BuildBot <>
    Reviewed-by: Jeffrey Altman <>
    Tested-by: Jeffrey Altman <>
    (cherry picked from commit a7fec07348889e9455ccec3b5028aec385b83e5f)
    Change-Id: Ie7dbf5191e37bba8ed5ad9aab0b840da6ccdeccc
    Tested-by: BuildBot <>
    Reviewed-by: Jeffrey Altman <>

 src/WINNT/afsd/cm_dcache.c |   68 ++++++++++++++++++++++++++++++-------------
 1 files changed, 47 insertions(+), 21 deletions(-)

OpenAFS Master Repository