brintos

brintos / linux-shallow public Read only

0
0
Text · 1.3 KiB · 39fdcdf Raw
86 lines · bash
1#!/bin/bash2# SPDX-License-Identifier: GPL-2.03#4# CPU helpers5 6# protect against multiple inclusion7if [ $FILE_CPU ]; then8	return 09else10	FILE_CPU=DONE11fi12 13source cpufreq.sh14 15for_each_cpu()16{17	cpus=$(ls $CPUROOT | grep "cpu[0-9].*")18	for cpu in $cpus; do19		$@ $cpu20	done21}22 23for_each_non_boot_cpu()24{25	cpus=$(ls $CPUROOT | grep "cpu[1-9].*")26	for cpu in $cpus; do27		$@ $cpu28	done29}30 31#$1: cpu32offline_cpu()33{34	printf "Offline $1\n"35	echo 0 > $CPUROOT/$1/online36}37 38#$1: cpu39online_cpu()40{41	printf "Online $1\n"42	echo 1 > $CPUROOT/$1/online43}44 45#$1: cpu46reboot_cpu()47{48	offline_cpu $149	online_cpu $150}51 52# Reboot CPUs53# param: number of times we want to run the loop54reboot_cpus()55{56	printf "** Test: Running ${FUNCNAME[0]} for $1 loops **\n\n"57 58	for i in `seq 1 $1`; do59		for_each_non_boot_cpu offline_cpu60		for_each_non_boot_cpu online_cpu61		printf "\n"62	done63 64	printf "\n%s\n\n" "------------------------------------------------"65}66 67# Prints warning for all CPUs with missing cpufreq directory68print_unmanaged_cpus()69{70	for_each_cpu cpu_should_have_cpufreq_directory71}72 73# Counts CPUs with cpufreq directories74count_cpufreq_managed_cpus()75{76	count=0;77 78	for cpu in `ls $CPUROOT | grep "cpu[0-9].*"`; do79		if [ -d $CPUROOT/$cpu/cpufreq ]; then80			let count=count+1;81		fi82	done83 84	echo $count;85}86