diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2018-07-25 11:25:23 -0700 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2018-08-30 16:03:43 -0700 |
commit | c06aed0e31008a248c1841f1b7fc80e9ee242a31 (patch) | |
tree | e66e83048dec7ef8b7c23444ab23f6e725021bd1 /drivers/cpufreq | |
parent | 74de6960c99d8df0d09fb29a7b014cb9c5571e2b (diff) | |
download | op-kernel-dev-c06aed0e31008a248c1841f1b7fc80e9ee242a31.zip op-kernel-dev-c06aed0e31008a248c1841f1b7fc80e9ee242a31.tar.gz |
rcu: Compute jiffies_till_sched_qs from other kernel parameters
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: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'drivers/cpufreq')
0 files changed, 0 insertions, 0 deletions