summaryrefslogtreecommitdiffstats
path: root/enable-cycle-counter.district10
blob: 11d1d7e53e1de0dff9f236cec4602177b490939d (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
#!/bin/bash

die() {
    echo "Error: $*"
    exit 1
}

# if perf is not given in environment, then check path
[ -z "$PERF" ] && PERF=`which perf 2> /dev/null`
# otherwise, assume default location
[ -z "$PERF" ] && PERF=~/dev/litmus2010/tools/perf/perf

[ -f "$PERF" ] && [ -x "$PERF" ] || die "Could not find perf tool."

# works for sparc64 and Intel x86 if all CPUs are online
NUM_CPUS=`egrep -c '^processor|online'   /proc/cpuinfo`

# Keep cycle counter active for a loooong time.

for x in `seq 0 $(($NUM_CPUS - 1))`
do
    schedtool -a $x  -e "$PERF" record -o /dev/null sleep $((60 * 60 * 24 * 365)) > /dev/null &
done