Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
From: alexandre.montplaisir@polymtl.ca (Alexandre Montplaisir)
Subject: [ltt-dev] [PATCH 1/2] Add module-loading capabilities to ltt-armall
Date: Thu, 23 Sep 2010 22:39:25 -0400	[thread overview]
Message-ID: <1285295966-30519-2-git-send-email-alexandre.montplaisir@polymtl.ca> (raw)
In-Reply-To: <1285295966-30519-1-git-send-email-alexandre.montplaisir@polymtl.ca>

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




  reply	other threads:[~2010-09-24  2:39 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1285295966-30519-2-git-send-email-alexandre.montplaisir@polymtl.ca \
    --to=alexandre.montplaisir@polymtl.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox