OpenAFS Master Repository branch, master, updated. openafs-devel-1_9_2-477-gb76879e

Gerrit Code Review gerrit@openafs.org
Tue, 19 May 2026 16:31:37 -0400


The following commit has been merged in the master branch:
commit b76879ead976b837a0d24e38828d5909776c0db8
Author: Mark Vitale <mvitale@sinenomine.net>
Date:   Tue Apr 28 19:16:08 2026 -0400

    rx: Do not enforce busy threshold for non-busy services
    
    Since OpenAFS 1.0, the Rx incoming queue has been a global resource
    shared by all the host server's Rx services.  The busy threshold has
    also been enforced globally for all incoming RPCs, regardless of
    Rx service.
    
    Currently the busy threshold is implemented only for fileservers
    (-busyat <busythresh>).  Therefore, if a fileserver is running more than
    one service (e.g. RXAFS_* and RXSTATS_*), busy threshold enforcement
    caused by one service's request load will cause all other services'
    requests to be aborted as well, even if there are available ("reserved")
    service threads that could handle them.  This could cause loss of
    performance instrumentation (RXSTATS_*) precisely when it is most needed
    (heavy RXAFS_* load).
    
    Modify the busy threshold enforcement logic to exempt RPCs for any
    service that still has available service threads.
    
    For RX_ENABLE_LOCKS, introduce a new variant of QuotaOK() named
    QuotaOK_noreserve().  This variant does not reserve quota (as the
    original QuotaOK() does); therefore we can use it to query the state
    without needing to release the unused quota.
    
    For non-RX_ENABLE_LOCKS, since QuotaOK() does NOT reserve quota, just
    implement QuotaOK_noreserve() as a call to QuotaOK().
    
    While here, document functions whose callers must hold rx_serverPool_lock.
    
    Change-Id: I8e9fc05c5fd648033000d1aca8d17fc813019833
    Reviewed-on: https://gerrit.openafs.org/16788
    Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
    Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
    Reviewed-by: Marcio Brito Barbosa <mbarbosa@sinenomine.net>
    Tested-by: BuildBot <buildbot@rampaginggeek.com>

 src/rx/rx.c | 110 ++++++++++++++++++++++++++++++++++++++++++++++--------------
 1 file changed, 84 insertions(+), 26 deletions(-)

-- 
OpenAFS Master Repository