OpenAFS Master Repository branch, openafs-devel-1_7_x, updated. openafs-devel-1_7_4-66-g95e505f

Gerrit Code Review
Thu, 19 Jan 2012 23:03:46 -0800 (PST)

The following commit has been merged in the openafs-devel-1_7_x branch:
commit 95e505faead455d7e5425f271870009258f64c35
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.
    Tested-by: BuildBot <>
    Reviewed-by: Jeffrey Altman <>
    Tested-by: Jeffrey Altman <>
    (cherry picked from commit 201c954a36fe6ec19f96e4c8e24e6e080c3ba55a)
    Change-Id: I081917ff8e5ce5179a18ed6fff9f67cc46d19e52
    Tested-by: BuildBot <>
    Reviewed-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