OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-2111-g201c954
Gerrit Code Review
gerrit@openafs.org
Thu, 19 Jan 2012 15:49:18 -0800 (PST)
The following commit has been merged in the master branch:
commit 201c954a36fe6ec19f96e4c8e24e6e080c3ba55a
Author: Jeffrey Altman <jaltman@your-file-system.com>
Date: Thu Jan 19 01:21:02 2012 -0500
Windows: Redesign daemon thread queue management
The daemon thread worker pool has some very poor properties.
The threads spend a significant amount of time polling for
ready to process tasks because so frequently a store/fetch data
request is accompanied by many other requests for the same FID
that would block.
Lets try a new approach. Create one queue for each worker thread
and assign the tasks to a thread by a hash of the FID. This ensures
that all tasks for a single FID are serialized and prevents multiple
threads from attempting to perform the same task only to decide that
the thread would be forced to block.
Change-Id: I1d00ba0df1aa646e05b2cb3cb0796629f2e6d233
Reviewed-on: http://gerrit.openafs.org/6575
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_callback.c | 2 -
src/WINNT/afsd/cm_daemon.c | 97 +++++++++++++++++++++--------------------
src/WINNT/afsd/cm_daemon.h | 5 +-
3 files changed, 53 insertions(+), 51 deletions(-)
--
OpenAFS Master Repository