summaryrefslogtreecommitdiffstats
path: root/ci/envs
diff options
context:
space:
mode:
Diffstat (limited to 'ci/envs')
-rwxr-xr-xci/envs/disable_trace.sh17
-rwxr-xr-xci/envs/enable-trace.sh63
-rwxr-xr-xci/envs/host-config11
3 files changed, 91 insertions, 0 deletions
diff --git a/ci/envs/disable_trace.sh b/ci/envs/disable_trace.sh
new file mode 100755
index 000000000..1b04e62bb
--- /dev/null
+++ b/ci/envs/disable_trace.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+set -o xtrace
+curpwd=`pwd`
+TRACE_FILE=$1
+TRACEDIR=/sys/kernel/debug/tracing/
+
+sudo bash -c "echo 0 >$TRACEDIR/tracing_on"
+sleep 1
+sudo bash -c "cat $TRACEDIR/trace > $TRACE_FILE"
+sudo bash -c "echo > $TRACEDIR/set_event"
+sudo bash -c "echo > $TRACEDIR/trace"
+sudo sysctl kernel.ftrace_enabled=0
+sudo bash -c "echo nop > $TRACEDIR/current_tracer"
+
+set +o xtrace
+cd $curpwd
diff --git a/ci/envs/enable-trace.sh b/ci/envs/enable-trace.sh
new file mode 100755
index 000000000..857f53e0d
--- /dev/null
+++ b/ci/envs/enable-trace.sh
@@ -0,0 +1,63 @@
+#!/bin/bash
+
+set -o xtrace
+EVENT=$1
+curpwd=`pwd`
+TRACEDIR=/sys/kernel/debug/tracing/
+mv /tmp/123.txt /tmp/123.back
+
+function getcpumask {
+ masks=`lscpu | grep "NUMA node1 CPU(s)"| awk -F ':' '{print \$2}' | sed 's/[[:space:]]//g'`
+ first=$(echo ${masks} | cut -f1 -d-)
+ last=$(echo ${masks} | cut -f2 -d-)
+ cpumask=0
+ while [ ${first} -lt ${last} ]; do
+ cputmp=`echo "ibase=10; obase=16; 2^(${c})" | bc`
+ cpumask=`echo "ibase=16; obase=10; ${cputmp}+${cpumask}" |bc`
+ first=`expr $first + 1`
+ done
+ highvalue=`echo "ibase=16;obase=10;$cpumask/(2^20)" |bc `
+ lowvalue=`echo "ibase=16;obase=10;$cpumask%(2^20)" |bc `
+ CPUMASK=`printf '%08x,%08x' 0x$highvalue 0x$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/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
diff --git a/ci/envs/host-config b/ci/envs/host-config
index 0f77b7ac5..4742cc422 100755
--- a/ci/envs/host-config
+++ b/ci/envs/host-config
@@ -33,3 +33,14 @@ done
#Isolated cpus from host_isolcpus range to run Stress tool
stress_isolcpus=${first}-${last}
echo "Stress tool runs on $stress_isolcpus"
+
+#Tar the log files generated during testcase execution.
+function err_exit {
+ exitCode=$1
+ cd $WORKSPACE/build_output/
+ if [ -d log ];then
+ tar -czvf log-$(date -u +"%Y-%m-%d_%H-%M-%S").tar.gz log
+ fi
+ exit $exitCode
+}
+