#!/bin/bash usage() { echo "Usage: npu_freq_scaling.sh [test_second] [every_freq_stay_second]" echo "example: npu_freq_test.sh 3600 30" echo "means npu_freq_test.sh will run 1 hour and every cpu frequency stay 30s" } echo "test will run $1 seconds" echo "every npu frqeucny will stay $2 seconds" NPU_PATH=/sys/devices/platform/*.npu/devfreq/*.npu unset FREQS read -a FREQS < $NPU_PATH/available_frequencies RANDOM=$$$(date +%s) time_cnt=0 while true; do if [ $time_cnt -ge $1 ] then echo "======TEST SUCCESSFUL, QUIT=====" exit 0 fi echo userspace > $NPU_PATH/governor FREQ=${FREQS[$RANDOM % ${#FREQS[@]} ]} echo "set ddr frequency to $FREQ" echo ${FREQ} > $NPU_PATH/userspace/set_freq sleep $2 let "time_cnt=$time_cnt+$2" done