aboutsummaryrefslogtreecommitdiffstats
path: root/decoder/tests/auto-fdo/set_strobing.sh
blob: 081f371dcc9bb7575e0d5e4072e83b5c1a468eec (plain) (blame)
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
#!/bin/bash

WINDOW=$1
PERIOD=$2

if [[ -z $WINDOW ]] || [[ -z $PERIOD ]]; then
       echo "Window or Period not specified!"
       echo "Example usage: ./set_strobing.sh <WINDOW VALUE> <PERIOD VALUE>"
       echo "Example usage: ./set_strobing.sh 5000 10000"
       exit -1
fi


if [[ $EUID != 0 ]]; then
    echo "Please run as root"
    exit -1
fi

for e in /sys/bus/coresight/devices/etm*/; do
       printf "%x" $WINDOW | tee $e/strobe_window > /dev/null
       printf "%x" $PERIOD | tee $e/strobe_period > /dev/null
       echo "Strobing period for $e set to $((`cat $e/strobe_period`))"
       echo "Strobing window for $e set to $((`cat $e/strobe_window`))"
done

## Shows the user a simple usage example
echo ">> Done! <<"
echo "You can now run perf to trace your application, for example:"
echo "perf record -e cs_etm/@tmc_etr0/u -- <your app>"