Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3838cc18 authored by Paul E. McKenney's avatar Paul E. McKenney
Browse files

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: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
[ paulmck: Update documentation, as suggested by Josh Triplett. ]
parent 6530b3f4
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -3101,7 +3101,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
			test, hence the "fake".

	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]
			Enable debug-object double-call_rcu() testing.
+1 −1
Original line number Diff line number Diff line
@@ -1701,7 +1701,7 @@ rcu_torture_init(void)
	if (nreaders >= 0) {
		nrealreaders = nreaders;
	} else {
		nrealreaders = num_online_cpus() - 1;
		nrealreaders = num_online_cpus() - 2 - nreaders;
		if (nrealreaders <= 0)
			nrealreaders = 1;
	}