-
Notifications
You must be signed in to change notification settings - Fork 0
/
enable-trace.sh
executable file
·61 lines (54 loc) · 2.32 KB
/
enable-trace.sh
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
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/bin/bash
set -o xtrace
EVENT=$1
curpwd=`pwd`
TRACEDIR=/sys/kernel/debug/tracing/
mv /tmp/123.txt /tmp/123.back
function getcpumask {
masks=`cat /proc/cmdline |sed -r 's/[ =]/\n/g' |awk '/isolcpus/{getline;print}' |sed 's/,/ /g'`
cpumask=0
for c in $masks;
do
cputmp=`echo "ibase=10; obase=16; 2^(${c})" | bc`
cpumask=`echo "ibase=16; obase=10; ${cputmp}+${cpumask}" |bc`
done
highvalue=`echo "ibase=16;obase=10;$cpumask/(2^20)" |bc `
lowvalue=`echo "ibase=16;obase=10;$cpumask%(2^20)" |bc `
CPUMASK=`printf '%08d,%08d' $highvalue $lowvalue`
}
getcpumask
sudo bash -c "echo $CPUMASK > $TRACEDIR/tracing_cpumask"
#sudo bash -c "echo function > $TRACEDIR/current_tracer"
#echo :* > set_event
#echo $EVENT:* > set_event
#sudo bash -c "echo 1 > $TRACEDIR/events/irq/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/irq_vectors/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/task/enable"
sudo bash -c "echo 1 > $TRACEDIR/events/syscalls/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/kmem/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/fence/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/context_tracking/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/exceptions/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/irq_vectors/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/nmi/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/kmem/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/migrate/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/sock/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/timer/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/timer/tick_stop/enable"
sudo bash -c "echo 1 > $TRACEDIR/events/sched/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/rcu/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/kvm/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/workqueue/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/power/enable"
#sudo bash -c "echo 1 > $TRACEDIR/events/signal/enable"
#sudo bash -c "echo 1 > events/tlb/enable"
# Clean original log info
sudo bash -c "echo > $TRACEDIR/trace"
#sudo bash -c "echo function > $TRACEDIR/current_tracer"
sudo sysctl kernel.ftrace_enabled=1
#echo 0 >tracing_on; sleep 1; echo 1 >tracing_on; sleep 20; echo 0 >tracing_on;sleep 1; cat trace >/tmp/123.txt
sudo bash -c "echo 1 >$TRACEDIR/tracing_on"
cd $curpwd
#source /home/yjiang5/repo/hostbin/disable_trace.sh
set +o xtrace