OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-2475-ga7fec07

Gerrit Code Review gerrit@openafs.org
Fri, 4 May 2012 10:26:58 -0700 (PDT)


The following commit has been merged in the master branch:
commit a7fec07348889e9455ccec3b5028aec385b83e5f
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.
    
    Change-Id: I0a413f8be9686cd0e326a3ea3608ca954cdf4370
    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>

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

-- 
OpenAFS Master Repository