Add module-loading capabilities to ltt-armall
authorAlexandre Montplaisir <alexandre.montplaisir@gmail.com>
Fri, 24 Sep 2010 21:12:19 +0000 (17:12 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Fri, 24 Sep 2010 21:12:19 +0000 (17:12 -0400)
This change makes ltt-armall load the required kernel modules
if it cannot find them.

The script will also check if it is being run as root, so
modprobe doesn't fail.

Signed-off-by: Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
lttctl/ltt-armall.sh

index 1b1c3f9598f8470276c9e08e60ff2d42cf906e76..d2548b86a610ce193656bc419dac0ef87dd6978b 100755 (executable)
@@ -17,6 +17,7 @@
 
 DEBUGFSROOT=$(awk '{if ($3 == "debugfs") print $2}' /proc/mounts | head -n 1)
 MARKERSROOT=${DEBUGFSROOT}/ltt/markers
+DEFAULTMODULES="ltt-trace-control ltt-marker-control ltt-tracer ltt-relay ltt-kprobes ltt-userspace-event ltt-statedump ipc-trace kernel-trace mm-trace net-trace fs-trace jbd2-trace syscall-trace trap-trace block-trace rcu-trace"
 
 usage () {
        echo "Usage: $0 [OPTION]..." > /dev/stderr
@@ -32,14 +33,25 @@ usage () {
        echo "" > /dev/stderr
 }
 
+if [ "$(id -u)" != "0" ]; then
+       echo "Error: This script needs to be run as root." > /dev/stderr
+       exit 1;
+fi
+
 if [ ! "${DEBUGFSROOT}" ]; then
        echo "Error: debugfs not mounted" > /dev/stderr
        exit 1;
 fi
 
 if [ ! -d "${MARKERSROOT}" ]; then
-       echo "Error: LTT trace controller not found (did you compile and load LTTng?)" > /dev/stderr
-       exit 1;
+       #Try loading the kernel modules first
+       for i in ${DEFAULTMODULES}; do
+               modprobe $i
+       done
+       if [ ! -d "${MARKERSROOT}" ]; then
+               echo "Error: LTT trace controller not found (did you compile and load LTTng?)" > /dev/stderr
+               exit 1;
+       fi
 fi
 
 while getopts "lnqh" options; do
@@ -59,10 +71,14 @@ shift $((${OPTIND} - 1))
 
 if [ ! ${LOCKING} ]; then
        TESTS="${TESTS} -name lockdep -prune -o -name locking -prune -o"
+else
+       modprobe lockdep-trace
 fi
 
 if [ ! ${NETWORK} ]; then
        TESTS="${TESTS} -path '*/net/*_extended' -prune -o"
+else
+       modprobe net-extended-trace
 fi
 
 if [ ! ${INPUT} ]; then
This page took 0.023778 seconds and 4 git commands to generate.