From: Alexandre Montplaisir Date: Fri, 24 Sep 2010 21:12:53 +0000 (-0400) Subject: Add module-unloading capabilities to ltt-disarmall X-Git-Tag: 0.88~1 X-Git-Url: https://git.lttng.org/?p=ltt-control.git;a=commitdiff_plain;h=88f304c9f43f25b0d0a5273bf9ff2a4a9ebd3988 Add module-unloading capabilities to ltt-disarmall Make ltt-disarmall unload all the kernel modules before exiting. The module list is not in the same order as in ltt-armall, because of some dependencies between the modules. Signed-off-by: Alexandre Montplaisir Signed-off-by: Mathieu Desnoyers --- diff --git a/lttctl/ltt-disarmall.sh b/lttctl/ltt-disarmall.sh index 56dc3a0..d60a54e 100755 --- a/lttctl/ltt-disarmall.sh +++ b/lttctl/ltt-disarmall.sh @@ -17,6 +17,8 @@ DEBUGFSROOT=$(awk '{if ($3 == "debugfs") print $2}' /proc/mounts | head -n 1) MARKERSROOT=${DEBUGFSROOT}/ltt/markers +DEFAULTMODULES="ltt-trace-control ltt-marker-control 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 ltt-relay ltt-tracer" +EXTRAMODULES="lockdep-trace net-extended-trace" usage () { echo "Usage: $0 [OPTION]..." > /dev/stderr @@ -28,6 +30,11 @@ 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; @@ -59,3 +66,12 @@ shift $((${OPTIND} - 1)) fi echo 0 > ${marker} done + +#Unload the kernel modules +for i in ${EXTRAMODULES}; do + rmmod $i 2> /dev/null +done +for i in ${DEFAULTMODULES}; do + rmmod $i +done +