File: dvfs.sh

package info (click to toggle)
rt-app 1.0-1
  • links: PTS
  • area: main
  • in suites: bookworm, bullseye
  • size: 496 kB
  • sloc: ansic: 2,231; python: 260; sh: 129; makefile: 33
file content (48 lines) | stat: -rwxr-xr-x 960 bytes parent folder | download | duplicates (2)
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/sh

# $1 $2 $3 $4 $5: governor cpu run sleep loops
set -e

echo $1 > /sys/devices/system/cpu/cpu$2/cpufreq/scaling_governor
#echo $1 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
sed 's/"cpus" : \[.*\],/"cpus" : \['$2'\],/' -i dvfs.json

if [ $3 ] ; then
	sed 's/"run" : .*,/"run" : '$3',/' -i dvfs.json
fi

if [ $4 ] ; then
	sed 's/"period" : .*,/"period" : '$4',/' -i dvfs.json
fi

if [ $5 ] ; then
	sed '0,/"loop"/s/"loop" : .*,/"loop" : '$5',/' -i dvfs.json
fi

sync

sleep 1

rt-app dvfs.json 2> /dev/null

if [ $1 ] ; then

	mv -f rt-app-thread-0.log rt-app_$1_run$3us_sleep$4us.log

	sum=0
	loop=0
	overrun=0
	for i in $(cat rt-app_$1_run$3us_sleep$4us.log | sed '1d;n;d' | sed '1d' | awk '{print $3}'); do
		loop=$(expr $loop + 1)
		sum=$(expr $sum + $i)
		if [ $4 -le $i ] ; then
			#echo $i"vs"$4
			overrun=$(expr $overrun + 1)
		fi
	done

	sum=$(expr $sum / $loop)
	echo $sum" "$overrun
	#rm -f rt-app_$1_run$3us_sleep$4us.log
fi