From: Alexandre Montplaisir <[email protected]> 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 <[email protected]> --- lttctl/ltt-disarmall.sh | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) 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 + -- 1.7.1 _______________________________________________ ltt-dev mailing list [email protected] http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
