torture: Make jitter.sh handle large systems
The current jitter.sh script expects cpumask bits to fit into whatever the awk interpreter uses for an integer, which clearly does not hold for even medium-sized systems these days. This means that on a large system, only the first 32 or 64 CPUs (depending) are subjected to jitter.sh CPU-time perturbations. This commit therefore computes a given CPU's cpumask using text manipulation rather than arithmetic shifts. Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
parent
7308e02404
commit
8126c57f00
|
@ -67,10 +67,10 @@ do
|
|||
srand(n + me + systime());
|
||||
ncpus = split(cpus, ca);
|
||||
curcpu = ca[int(rand() * ncpus + 1)];
|
||||
mask = lshift(1, curcpu);
|
||||
if (mask + 0 <= 0)
|
||||
mask = 1;
|
||||
printf("%#x\n", mask);
|
||||
z = "";
|
||||
for (i = 1; 4 * i <= curcpu; i++)
|
||||
z = z "0";
|
||||
print "0x" 2 ^ (curcpu % 4) z;
|
||||
}' < /dev/null`
|
||||
n=$(($n+1))
|
||||
if ! taskset -p $cpumask $$ > /dev/null 2>&1
|
||||
|
|
Loading…
Reference in New Issue