rcutorture: Allow negative values of nreaders to oversubscribe
By default, with rcutorture.nreaders equal to -1, rcutorture provisions N-1 reader kthreads, where N is the number of CPUs. This avoids rcutorture-induced stalls, but also avoids heavier levels of torture. This commit therefore allows negative values of rcutorture.nreaders to specify larger numbers of reader kthreads, so that for example rcutorture.nreaders=-2 provisions N kthreads and rcutorture.nreaders=-5 provisions N+3 kthreads. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> [ paulmck: Update documentation, as suggested by Josh Triplett. ]
This commit is contained in:
parent
6530b3f4c5
commit
3838cc1850
|
@ -3101,7 +3101,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
|
||||||
test, hence the "fake".
|
test, hence the "fake".
|
||||||
|
|
||||||
rcutorture.nreaders= [KNL]
|
rcutorture.nreaders= [KNL]
|
||||||
Set number of RCU readers.
|
Set number of RCU readers. The value -1 selects
|
||||||
|
N-1, where N is the number of CPUs. A value
|
||||||
|
"n" less than -1 selects N-n-2, where N is again
|
||||||
|
the number of CPUs. For example, -2 selects N
|
||||||
|
(the number of CPUs), -3 selects N+1, and so on.
|
||||||
|
|
||||||
rcutorture.object_debug= [KNL]
|
rcutorture.object_debug= [KNL]
|
||||||
Enable debug-object double-call_rcu() testing.
|
Enable debug-object double-call_rcu() testing.
|
||||||
|
|
|
@ -1701,7 +1701,7 @@ rcu_torture_init(void)
|
||||||
if (nreaders >= 0) {
|
if (nreaders >= 0) {
|
||||||
nrealreaders = nreaders;
|
nrealreaders = nreaders;
|
||||||
} else {
|
} else {
|
||||||
nrealreaders = num_online_cpus() - 1;
|
nrealreaders = num_online_cpus() - 2 - nreaders;
|
||||||
if (nrealreaders <= 0)
|
if (nrealreaders <= 0)
|
||||||
nrealreaders = 1;
|
nrealreaders = 1;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue