OpenAFS Master Repository branch, openafs-stable-1_6_x, updated. openafs-stable-1_6_0pre1-151-gd69b877

Gerrit Code Review gerrit@openafs.org
Tue, 8 Feb 2011 06:57:09 -0800 (PST)


The following commit has been merged in the openafs-stable-1_6_x branch:
commit d69b87724790ceb2db25b580cebfc4f18f99dbf9
Author: Andrew Deason <adeason@sinenomine.net>
Date:   Thu Sep 2 11:25:27 2010 -0500

    vol: Add VInit cond var and remove busywaits
    
    In DAFS, FSYNC_sync was waiting for VInit to reach at least 2 by
    looping around pthread_yield(). For a server with a large number of
    volumes, it can take a while for volumes to preattach, and so we are
    effectively busy-waiting for preattach to finish. This can slow
    fileserver startup and peg the cpu.
    
    So instead, add a condition variable for when VInit changes, and wait
    on that. Also modify other checkers of VInit to use the cond var.
    
    (cherry picked from commit 31bb2e5eb5feb9c8e84d17b49fe70268127cdd43)
    Reviewed-on: http://gerrit.openafs.org/2648
    Tested-by: Andrew Deason <adeason@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>
    
    Change-Id: I773ab01095bb0c101a34146ef9bf201946ebcf8b
    Reviewed-on: http://gerrit.openafs.org/3887
    Tested-by: BuildBot <buildbot@rampaginggeek.com>
    Reviewed-by: Derrick Brashear <shadow@dementia.org>

 src/vol/fssync-server.c |   11 ++++++++++-
 src/vol/volume.c        |   31 ++++++++++++++++++++++++-------
 src/vol/volume.h        |    1 +
 3 files changed, 35 insertions(+), 8 deletions(-)

-- 
OpenAFS Master Repository