1#!/bin/bash 2 3usage() 4{ 5echo "Usage: npu_freq_scaling.sh [test_second] [every_freq_stay_second]" 6echo "example: npu_freq_test.sh 3600 30" 7echo "means npu_freq_test.sh will run 1 hour and every cpu frequency stay 30s" 8} 9 10echo "test will run $1 seconds" 11echo "every npu frqeucny will stay $2 seconds" 12 13NPU_PATH=/sys/devices/platform/*.npu/devfreq/*.npu 14 15unset FREQS 16read -a FREQS < $NPU_PATH/available_frequencies 17RANDOM=$$$(date +%s) 18time_cnt=0 19 20while true; do 21 if [ $time_cnt -ge $1 ] 22 then 23 echo "======TEST SUCCESSFUL, QUIT=====" 24 exit 0 25 fi 26 27 echo userspace > $NPU_PATH/governor 28 FREQ=${FREQS[$RANDOM % ${#FREQS[@]} ]} 29 echo "set ddr frequency to $FREQ" 30 echo ${FREQ} > $NPU_PATH/userspace/set_freq 31 sleep $2 32 let "time_cnt=$time_cnt+$2" 33done 34 35