hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/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