OpenAFS Master Repository branch, master, updated. openafs-devel-1_5_76-2111-g201c954

Gerrit Code Review
Thu, 19 Jan 2012 15:49:18 -0800 (PST)

The following commit has been merged in the master branch:
commit 201c954a36fe6ec19f96e4c8e24e6e080c3ba55a
Author: Jeffrey Altman <>
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
    Tested-by: BuildBot <>
    Reviewed-by: Jeffrey Altman <>
    Tested-by: Jeffrey Altman <>

 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