OpenAFS Master Repository branch, master, updated. BP--openafs-stable-1_6_x-82-g31bb2e5
Gerrit Code Review
gerrit@openafs.org
Thu, 9 Sep 2010 08:25:18 -0700 (PDT)
The following commit has been merged in the master branch:
commit 31bb2e5eb5feb9c8e84d17b49fe70268127cdd43
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.
Change-Id: Icc251fdf7d525d40a9db1938a9cb4d47a74dccba
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>
src/vol/fssync-server.c | 11 ++++++++++-
src/vol/volume.c | 33 ++++++++++++++++++++++++++-------
src/vol/volume.h | 1 +
3 files changed, 37 insertions(+), 8 deletions(-)
--
OpenAFS Master Repository