File Index
Files and directories
Sign in
FILE

cpus2use.sh

File preview with syntax highlighting.

linux-6.19.14/tools/testing/selftests/rcutorture/bin/cpus2use.sh BASH
 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
12if test -n "$TORTURE_ALLOTED_CPUS"
13then
14	echo $TORTURE_ALLOTED_CPUS
15	exit 0
16fi
17ncpus=`grep '^processor' /proc/cpuinfo | wc -l`
18if mpstat -V > /dev/null 2>&1
19then
20	idlecpus=`mpstat | tail -1 | \
21		awk -v ncpus=$ncpus '{ print ncpus * ($7 + $NF) / 100 }'`
22else
23	# No mpstat command, so use all available CPUs.
24	idlecpus=$ncpus
25fi
26awk -v ncpus=$ncpus -v idlecpus=$idlecpus < /dev/null '
27BEGIN {
28	cpus2use = idlecpus;
29	if (cpus2use < 1)
30		cpus2use = 1;
31	if (cpus2use < ncpus / 10)
32		cpus2use = ncpus / 10;
33	if (cpus2use == int(cpus2use))
34		cpus2use = int(cpus2use)
35	else
36		cpus2use = int(cpus2use) + 1
37	print cpus2use;
38}'
39
~/ Read-only file preview.