* [ltt-dev] [ltt-control] [PATCH] Modules load/unload with ltt-armall/disarmall
@ 2010-09-24 2:39 Alexandre Montplaisir
2010-09-24 2:39 ` [ltt-dev] [PATCH 1/2] Add module-loading capabilities to ltt-armall Alexandre Montplaisir
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Alexandre Montplaisir @ 2010-09-24 2:39 UTC (permalink / raw)
Small additions to make "ltt-armall" load the LTTng kernel modules, so the user doesn't need to put them in /etc/modules or load them manually.
Since the unloading part in "ltt-disarmall" isn't really mandatory, I've put it in a separate patch in case we don't want it.
Cheers,
Alexandre
^ permalink raw reply [flat|nested] 4+ messages in thread
* [ltt-dev] [PATCH 1/2] Add module-loading capabilities to ltt-armall
2010-09-24 2:39 [ltt-dev] [ltt-control] [PATCH] Modules load/unload with ltt-armall/disarmall Alexandre Montplaisir
@ 2010-09-24 2:39 ` Alexandre Montplaisir
2010-09-24 2:39 ` [ltt-dev] [PATCH 2/2] Add module-unloading capabilities to ltt-disarmall Alexandre Montplaisir
2010-09-24 21:13 ` [ltt-dev] [ltt-control] [PATCH] Modules load/unload with ltt-armall/disarmall Mathieu Desnoyers
2 siblings, 0 replies; 4+ messages in thread
From: Alexandre Montplaisir @ 2010-09-24 2:39 UTC (permalink / raw)
From: Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
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 at gmail.com>
---
lttctl/ltt-armall.sh | 20 ++++++++++++++++++--
1 files changed, 18 insertions(+), 2 deletions(-)
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
--
1.7.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [ltt-dev] [PATCH 2/2] Add module-unloading capabilities to ltt-disarmall
2010-09-24 2:39 [ltt-dev] [ltt-control] [PATCH] Modules load/unload with ltt-armall/disarmall Alexandre Montplaisir
2010-09-24 2:39 ` [ltt-dev] [PATCH 1/2] Add module-loading capabilities to ltt-armall Alexandre Montplaisir
@ 2010-09-24 2:39 ` Alexandre Montplaisir
2010-09-24 21:13 ` [ltt-dev] [ltt-control] [PATCH] Modules load/unload with ltt-armall/disarmall Mathieu Desnoyers
2 siblings, 0 replies; 4+ messages in thread
From: Alexandre Montplaisir @ 2010-09-24 2:39 UTC (permalink / raw)
From: Alexandre Montplaisir <alexandre.montplaisir@gmail.com>
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 <alexandre.montplaisir at gmail.com>
---
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* [ltt-dev] [ltt-control] [PATCH] Modules load/unload with ltt-armall/disarmall
2010-09-24 2:39 [ltt-dev] [ltt-control] [PATCH] Modules load/unload with ltt-armall/disarmall Alexandre Montplaisir
2010-09-24 2:39 ` [ltt-dev] [PATCH 1/2] Add module-loading capabilities to ltt-armall Alexandre Montplaisir
2010-09-24 2:39 ` [ltt-dev] [PATCH 2/2] Add module-unloading capabilities to ltt-disarmall Alexandre Montplaisir
@ 2010-09-24 21:13 ` Mathieu Desnoyers
2 siblings, 0 replies; 4+ messages in thread
From: Mathieu Desnoyers @ 2010-09-24 21:13 UTC (permalink / raw)
Both patches merged, thanks !
Mathieu
* Alexandre Montplaisir (alexandre.montplaisir at polymtl.ca) wrote:
> Small additions to make "ltt-armall" load the LTTng kernel modules, so the user doesn't need to put them in /etc/modules or load them manually.
>
> Since the unloading part in "ltt-disarmall" isn't really mandatory, I've put it in a separate patch in case we don't want it.
>
> Cheers,
> Alexandre
>
>
> _______________________________________________
> ltt-dev mailing list
> ltt-dev at lists.casi.polymtl.ca
> http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
>
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-09-24 21:13 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-24 2:39 [ltt-dev] [ltt-control] [PATCH] Modules load/unload with ltt-armall/disarmall Alexandre Montplaisir
2010-09-24 2:39 ` [ltt-dev] [PATCH 1/2] Add module-loading capabilities to ltt-armall Alexandre Montplaisir
2010-09-24 2:39 ` [ltt-dev] [PATCH 2/2] Add module-unloading capabilities to ltt-disarmall Alexandre Montplaisir
2010-09-24 21:13 ` [ltt-dev] [ltt-control] [PATCH] Modules load/unload with ltt-armall/disarmall Mathieu Desnoyers
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox