����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����
Server IP : 74.208.127.88 / Your IP : 216.73.216.82 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 source cpu.sh source cpufreq.sh source governor.sh source module.sh source special-tests.sh FUNC=basic # do basic tests by default OUTFILE=cpufreq_selftest SYSFS= CPUROOT= CPUFREQROOT= # Kselftest framework requirement - SKIP code is 4. ksft_skip=4 helpme() { printf "Usage: $0 [-h] [-todg args] [-h <help>] [-o <output-file-for-dump>] [-t <basic: Basic cpufreq testing suspend: suspend/resume, hibernate: hibernate/resume, modtest: test driver or governor modules. Only to be used with -d or -g options, sptest1: Simple governor switch to produce lockdep. sptest2: Concurrent governor switch to produce lockdep. sptest3: Governor races, shuffle between governors quickly. sptest4: CPU hotplugs with updates to cpufreq files.>] [-d <driver's module name: only with \"-t modtest>\"] [-g <governor's module name: only with \"-t modtest>\"] \n" exit 2 } prerequisite() { msg="skip all tests:" if [ $UID != 0 ]; then echo $msg must be run as root >&2 exit $ksft_skip fi taskset -p 01 $$ SYSFS=`mount -t sysfs | head -1 | awk '{ print $3 }'` if [ ! -d "$SYSFS" ]; then echo $msg sysfs is not mounted >&2 exit 2 fi CPUROOT=$SYSFS/devices/system/cpu CPUFREQROOT="$CPUROOT/cpufreq" if ! ls $CPUROOT/cpu* > /dev/null 2>&1; then echo $msg cpus not available in sysfs >&2 exit 2 fi if ! ls $CPUROOT/cpufreq > /dev/null 2>&1; then echo $msg cpufreq directory not available in sysfs >&2 exit 2 fi } parse_arguments() { while getopts ht:o:d:g: arg do case $arg in h) # --help helpme ;; t) # --func_type (Function to perform: basic, suspend, hibernate, modtest, sptest1/2/3/4 (default: basic)) FUNC=$OPTARG ;; o) # --output-file (Output file to store dumps) OUTFILE=$OPTARG ;; d) # --driver-mod-name (Name of the driver module) DRIVER_MOD=$OPTARG ;; g) # --governor-mod-name (Name of the governor module) GOVERNOR_MOD=$OPTARG ;; \?) helpme ;; esac done } do_test() { # Check if CPUs are managed by cpufreq or not count=$(count_cpufreq_managed_cpus) if [ $count = 0 -a $FUNC != "modtest" ]; then echo "No cpu is managed by cpufreq core, exiting" exit 2; fi case "$FUNC" in "basic") cpufreq_basic_tests ;; "suspend") do_suspend "suspend" 1 ;; "hibernate") do_suspend "hibernate" 1 ;; "modtest") # Do we have modules in place? if [ -z $DRIVER_MOD ] && [ -z $GOVERNOR_MOD ]; then echo "No driver or governor module passed with -d or -g" exit 2; fi if [ $DRIVER_MOD ]; then if [ $GOVERNOR_MOD ]; then module_test $DRIVER_MOD $GOVERNOR_MOD else module_driver_test $DRIVER_MOD fi else if [ $count = 0 ]; then echo "No cpu is managed by cpufreq core, exiting" exit 2; fi module_governor_test $GOVERNOR_MOD fi ;; "sptest1") simple_lockdep ;; "sptest2") concurrent_lockdep ;; "sptest3") governor_race ;; "sptest4") hotplug_with_updates ;; *) echo "Invalid [-f] function type" helpme ;; esac } # clear dumps # $1: file name clear_dumps() { echo "" > $1.txt echo "" > $1.dmesg_cpufreq.txt echo "" > $1.dmesg_full.txt } # $1: output file name dmesg_dumps() { dmesg | grep cpufreq >> $1.dmesg_cpufreq.txt # We may need the full logs as well dmesg >> $1.dmesg_full.txt } # Parse arguments parse_arguments $@ # Make sure all requirements are met prerequisite # Run requested functions clear_dumps $OUTFILE do_test >> $OUTFILE.txt dmesg_dumps $OUTFILE