����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����
Server IP : 74.208.127.88 / Your IP : 216.73.216.159 Web Server : Apache/2.4.41 (Ubuntu) System : Linux ubuntu 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/self/root/lib/modules/5.4.0-163-generic/build/tools/testing/selftests/cpufreq/ |
Upload File : |
#!/bin/bash # SPDX-License-Identifier: GPL-2.0 # protect against multiple inclusion if [ $FILE_CPUFREQ ]; then return 0 else FILE_CPUFREQ=DONE fi source cpu.sh # $1: cpu cpu_should_have_cpufreq_directory() { if [ ! -d $CPUROOT/$1/cpufreq ]; then printf "Warning: No cpufreq directory present for $1\n" fi } cpu_should_not_have_cpufreq_directory() { if [ -d $CPUROOT/$1/cpufreq ]; then printf "Warning: cpufreq directory present for $1\n" fi } for_each_policy() { policies=$(ls $CPUFREQROOT| grep "policy[0-9].*") for policy in $policies; do $@ $policy done } for_each_policy_concurrent() { policies=$(ls $CPUFREQROOT| grep "policy[0-9].*") for policy in $policies; do $@ $policy & done } # $1: Path read_cpufreq_files_in_dir() { local files=`ls $1` printf "Printing directory: $1\n\n" for file in $files; do if [ -f $1/$file ]; then printf "$file:" cat $1/$file else printf "\n" read_cpufreq_files_in_dir "$1/$file" fi done printf "\n" } read_all_cpufreq_files() { printf "** Test: Running ${FUNCNAME[0]} **\n\n" read_cpufreq_files_in_dir $CPUFREQROOT printf "%s\n\n" "------------------------------------------------" } # UPDATE CPUFREQ FILES # $1: directory path update_cpufreq_files_in_dir() { local files=`ls $1` printf "Updating directory: $1\n\n" for file in $files; do if [ -f $1/$file ]; then # file is writable ? local wfile=$(ls -l $1/$file | awk '$1 ~ /^.*w.*/ { print $NF; }') if [ ! -z $wfile ]; then # scaling_setspeed is a special file and we # should skip updating it if [ $file != "scaling_setspeed" ]; then local val=$(cat $1/$file) printf "Writing $val to: $file\n" echo $val > $1/$file fi fi else printf "\n" update_cpufreq_files_in_dir "$1/$file" fi done printf "\n" } # Update all writable files with their existing values update_all_cpufreq_files() { printf "** Test: Running ${FUNCNAME[0]} **\n\n" update_cpufreq_files_in_dir $CPUFREQROOT printf "%s\n\n" "------------------------------------------------" } # CHANGE CPU FREQUENCIES # $1: policy find_current_freq() { cat $CPUFREQROOT/$1/scaling_cur_freq } # $1: policy # $2: frequency set_cpu_frequency() { printf "Change frequency for $1 to $2\n" echo $2 > $CPUFREQROOT/$1/scaling_setspeed } # $1: policy test_all_frequencies() { local filepath="$CPUFREQROOT/$1" backup_governor $1 local found=$(switch_governor $1 "userspace") if [ $found = 1 ]; then printf "${FUNCNAME[0]}: userspace governor not available for: $1\n" return; fi printf "Switched governor for $1 to userspace\n\n" local freqs=$(cat $filepath/scaling_available_frequencies) printf "Available frequencies for $1: $freqs\n\n" # Set all frequencies one-by-one for freq in $freqs; do set_cpu_frequency $1 $freq done printf "\n" restore_governor $1 } # $1: loop count shuffle_frequency_for_all_cpus() { printf "** Test: Running ${FUNCNAME[0]} for $1 loops **\n\n" for i in `seq 1 $1`; do for_each_policy test_all_frequencies done printf "\n%s\n\n" "------------------------------------------------" } # Basic cpufreq tests cpufreq_basic_tests() { printf "*** RUNNING CPUFREQ SANITY TESTS ***\n" printf "====================================\n\n" count=$(count_cpufreq_managed_cpus) if [ $count = 0 ]; then printf "No cpu is managed by cpufreq core, exiting\n" exit; else printf "CPUFreq manages: $count CPUs\n\n" fi # Detect & print which CPUs are not managed by cpufreq print_unmanaged_cpus # read/update all cpufreq files read_all_cpufreq_files update_all_cpufreq_files # hotplug cpus reboot_cpus 5 # Test all frequencies shuffle_frequency_for_all_cpus 2 # Test all governors shuffle_governors_for_all_cpus 1 } # Suspend/resume # $1: "suspend" or "hibernate", $2: loop count do_suspend() { printf "** Test: Running ${FUNCNAME[0]}: Trying $1 for $2 loops **\n\n" # Is the directory available if [ ! -d $SYSFS/power/ -o ! -f $SYSFS/power/state ]; then printf "$SYSFS/power/state not available\n" return 1 fi if [ $1 = "suspend" ]; then filename="mem" elif [ $1 = "hibernate" ]; then filename="disk" else printf "$1 is not a valid option\n" return 1 fi if [ -n $filename ]; then present=$(cat $SYSFS/power/state | grep $filename) if [ -z "$present" ]; then printf "Tried to $1 but $filename isn't present in $SYSFS/power/state\n" return 1; fi for i in `seq 1 $2`; do printf "Starting $1\n" echo $filename > $SYSFS/power/state printf "Came out of $1\n" printf "Do basic tests after finishing $1 to verify cpufreq state\n\n" cpufreq_basic_tests done fi }