From: Alexandre Montplaisir Date: Fri, 24 Sep 2010 21:12:19 +0000 (-0400) Subject: Add module-loading capabilities to ltt-armall X-Git-Tag: 0.88~2 X-Git-Url: http://git.liburcu.org/?p=ltt-control.git;a=commitdiff_plain;h=efd72b5d61b85de373b987aa768de315419d4a83 Add module-loading capabilities to ltt-armall 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 Signed-off-by: Mathieu Desnoyers --- diff --git a/lttctl/ltt-armall.sh b/lttctl/ltt-armall.sh index 1b1c3f9..d2548b8 100755 --- a/lttctl/ltt-armall.sh +++ b/lttctl/ltt-armall.sh @@ -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