binary packages and use it. If there are no packages ready for your system, you
will have to install from sources (section 2) instead.
binary packages and use it. If there are no packages ready for your system, you
will have to install from sources (section 2) instead.
-These operations are made for installing the LTTng 0.4 tracer on a
+These operations are made for installing the LTTng 0.4.1 tracer on a
linux 2.6.12-rc4-mm2 kernel. You will also find instructions for installtion of
LTTV 0.6.x : the Linux Trace Toolkit Viewer.
linux 2.6.12-rc4-mm2 kernel. You will also find instructions for installtion of
LTTV 0.6.x : the Linux Trace Toolkit Viewer.
cd /usr/src/lttng
(see http://ltt.polymtl.ca/lttng for package listing)
wget http://ltt.polymtl.ca/lttng/lttng-modules-0.3.tar.bz2
cd /usr/src/lttng
(see http://ltt.polymtl.ca/lttng for package listing)
wget http://ltt.polymtl.ca/lttng/lttng-modules-0.3.tar.bz2
-wget http://ltt.polymtl.ca/lttng/patch-2.6.12-rc4-mm2-lttng-0.4.bz2
+wget http://ltt.polymtl.ca/lttng/patch-2.6.12-rc4-mm2-lttng-0.4.1.bz2
bzip2 -cd lttng-modules-0.3.tar.bz2 | tar xvof -
bzip2 -cd lttng-modules-0.3.tar.bz2 | tar xvof -
bzip2 -cd linux-2.6.12-rc4.tar.bz2 | tar xvof -
cd linux-2.6.12-rc4
bzip2 -cd ../2.6.12-rc4-mm2.bz2 | patch -p1
bzip2 -cd linux-2.6.12-rc4.tar.bz2 | tar xvof -
cd linux-2.6.12-rc4
bzip2 -cd ../2.6.12-rc4-mm2.bz2 | patch -p1
-bzip2 -cd /usr/src/lttng/patch-2.6.12-rc4-mm2-lttng-0.4.bz2 | patch -p1
+bzip2 -cd /usr/src/lttng/patch-2.6.12-rc4-mm2-lttng-0.4.1.bz2 | patch -p1
-mv linux-2.6.12-rc4 linux-2.6.12-rc4-mm2-lttng-0.4
+mv linux-2.6.12-rc4 linux-2.6.12-rc4-mm2-lttng-0.4.1
* Installing a LTTng kernel
su -
* Installing a LTTng kernel
su -
-cd /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4
+cd /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4.1
make menuconfig (or make xconfig or make config)
Select the < Help > button if you are not familiar with kernel
configuration.
make menuconfig (or make xconfig or make config)
Select the < Help > button if you are not familiar with kernel
configuration.
- Select the Linux 2.6.12-rc4-mm2-lttng-0.4 kernel in your boot loader.
+ Select the Linux 2.6.12-rc4-mm2-lttng-0.4.1 kernel in your boot loader.
* Install the ltt-modules
su -
cd /usr/src/lttng/lttng-modules-0.3
* Install the ltt-modules
su -
cd /usr/src/lttng/lttng-modules-0.3
-KERNELDIR=/usr/src/linux-2.6.12-rc4-mm2-lttng-0.4 make
-KERNELDIR=/usr/src/linux-2.6.12-rc4-mm2-lttng-0.4 make modules_install
+KERNELDIR=/usr/src/linux-2.6.12-rc4-mm2-lttng-0.4.1 make
+KERNELDIR=/usr/src/linux-2.6.12-rc4-mm2-lttng-0.4.1 make modules_install
You need to load the ltt-control module to be able to control tracing from user
space. This is done by issuing the command :
You need to load the ltt-control module to be able to control tracing from user
space. This is done by issuing the command :
cd /tmp
/usr/local/bin/genevent /usr/local/share/LinuxTraceToolkitViewer/yourfacility.xml
cp ltt-facility-yourfacility.h ltt-facility-id-yourfacility.h \
cd /tmp
/usr/local/bin/genevent /usr/local/share/LinuxTraceToolkitViewer/yourfacility.xml
cp ltt-facility-yourfacility.h ltt-facility-id-yourfacility.h \
- /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4/include/linux/ltt
+ /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4.1/include/linux/ltt
cp ltt-facility-loader-yourfacility.c ltt-facility-loader-yourfacility.h \
cp ltt-facility-loader-yourfacility.c ltt-facility-loader-yourfacility.h \
- /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4/ltt
+ /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4.1/ltt
* edit the kernel file you want to instrument
- Add #include <linux/ltt/ltt-facility-yourfacility.h> at the beginning
of the file.
- Add a call to the tracing functions. See their names and parameters in
* edit the kernel file you want to instrument
- Add #include <linux/ltt/ltt-facility-yourfacility.h> at the beginning
of the file.
- Add a call to the tracing functions. See their names and parameters in
- /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4/include/linux/ltt/ltt-facility-yourfacility.h
+ /usr/src/linux-2.6.12-rc4-mm2-lttng-0.4.1/include/linux/ltt/ltt-facility-yourfacility.h
struct ltt_block_start_header {
struct {
struct ltt_block_start_header {
struct {
+ struct timeval timestamp;
uint64_t cycle_count;
uint64_t freq;
} begin;
struct {
uint64_t cycle_count;
uint64_t freq;
} begin;
struct {
+ struct timeval timestamp;
uint64_t cycle_count;
uint64_t freq;
} end;
uint64_t cycle_count;
uint64_t freq;
} end;