Merge tag 's390-5.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
[linux-2.6-microblaze.git] / tools / testing / selftests / rcutorture / bin / cpus2use.sh
1 #!/bin/bash
2 # SPDX-License-Identifier: GPL-2.0+
3 #
4 # Get an estimate of how CPU-hoggy to be.
5 #
6 # Usage: cpus2use.sh
7 #
8 # Copyright (C) IBM Corporation, 2013
9 #
10 # Authors: Paul E. McKenney <paulmck@linux.ibm.com>
11
12 ncpus=`grep '^processor' /proc/cpuinfo | wc -l`
13 idlecpus=`mpstat | tail -1 | \
14         awk -v ncpus=$ncpus '{ print ncpus * ($7 + $NF) / 100 }'`
15 awk -v ncpus=$ncpus -v idlecpus=$idlecpus < /dev/null '
16 BEGIN {
17         cpus2use = idlecpus;
18         if (cpus2use < 1)
19                 cpus2use = 1;
20         if (cpus2use < ncpus / 10)
21                 cpus2use = ncpus / 10;
22         if (cpus2use == int(cpus2use))
23                 cpus2use = int(cpus2use)
24         else
25                 cpus2use = int(cpus2use) + 1
26         print cpus2use;
27 }'
28