• Paul E. McKenney's avatar
    srcu: Specify auto-expedite holdoff time · 22607d66
    Paul E. McKenney authored
    On small systems, in the absence of readers, expedited SRCU grace
    periods can complete in less than a microsecond.  This means that an
    eight-CPU system can have all CPUs doing synchronize_srcu() in a tight
    loop and almost always expedite.  This might actually be desirable in
    some situations, but in general it is a good way to needlessly burn
    CPU cycles.  And in those situations where it is desirable, your friend
    is the function synchronize_srcu_expedited().
    
    For other situations, this commit adds a kernel parameter that specifies
    a holdoff between completing the last SRCU grace period and auto-expediting
    the next.  If the next grace period starts before the holdoff expires,
    auto-expediting is disabled.  The holdoff is 50 microseconds by default,
    and can be tuned to the desired number of nanoseconds.  A value of zero
    disables auto-expediting.
    Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    Tested-by: default avatarMike Galbraith <efault@gmx.de>
    22607d66
srcutree.c 38.1 KB