Skip to content
  • Paul E. McKenney's avatar
    rcu: Compute jiffies_till_sched_qs from other kernel parameters · c06aed0e
    Paul E. McKenney authored
    
    
    The jiffies_till_sched_qs value used to determine how old a grace period
    must be before RCU enlists the help of the scheduler to force a quiescent
    state on the holdout CPU.  Currently, this defaults to HZ/10 regardless of
    system size and may be set only at boot time.  This can be a problem for
    very large systems, because if the values of the jiffies_till_first_fqs
    and jiffies_till_next_fqs kernel parameters are left at their defaults,
    they are calculated to increase as the number of CPUs actually configured
    on the system increases.  Thus, on a sufficiently large system, RCU would
    enlist the help of the scheduler before the grace-period kthread had a
    chance to scan for idle CPUs, which wastes CPU time.
    
    This commit therefore allows jiffies_till_sched_qs to be set, if desired,
    but if left as default, computes is as jiffies_till_first_fqs plus twice
    jiffies_till_next_fqs, thus allowing three force-quiescent-state scans
    for idle CPUs.  This scales with the number of CPUs, providing sensible
    default values.
    
    Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    c06aed0e