Oprofile setup: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (categorization & cosmetics)
No edit summary
Line 3: Line 3:
It is possible to get oprofile in timer mode working on the olpc
It is possible to get oprofile in timer mode working on the olpc
machine. Performance monitoring hardware on Geode process is not
machine. Performance monitoring hardware on Geode process is not
supported. The jffs2 file system does NOT support the mechanism
supported.
that oprofile uses. You will need an ext3 file system such as a USB
flash drive formatted as ext3 file system.


== Host machine Steps ==
== Host machine Steps ==
Line 48: Line 50:
rpm -Uvh kernel-2.6.21-20070318.olpc1p.3eca75102a57502.i586.rpm
rpm -Uvh kernel-2.6.21-20070318.olpc1p.3eca75102a57502.i586.rpm


4) If running from an image in the internal jffs2 file system,
4) Reboot the olpc machine. When it reboots it will be running the
you will need to mount an ext3 file system to store the samples.
oprofile enabled kernel
Below is an example of the commands to set that up. You will need
to modify for local conditions.


<pre>
5) As <tt>root</tt> configure OProfile to collect data:
mkdir /media/usbflash
mount -t ext3 /dev/sda1 /media/usbflash
rm -rf /var/lib/oprofile/samples/current
mkdir /media/usbflash/samples
ln -s /media/usbflash/samples /var/lib/oprofile/samples/current
</pre>

5) Reboot the olpc machine. When it reboots it will be running the
oprofile enabled kernel.


6) As <tt>root</tt> configure OProfile to collect data:


opcontrol --setup --vmlinux=/root/vmlinux --separate=library
opcontrol --setup --vmlinux=/root/vmlinux --separate=library
Line 60: Line 76:
opcontrol --setup --no-vmlinux --separate=library
opcontrol --setup --no-vmlinux --separate=library


6) As <tt>root</tt> start oprofile running with:
7) As <tt>root</tt> start oprofile running with:


opcontrol --start
opcontrol --start


7) Do desired experiment to collect data
8) Do desired experiment to collect data


8) As root shutdown OProfile with:
9) As root shutdown OProfile with:


opcontrol --shutdown
opcontrol --shutdown


9) Look at the data with the "<tt>opreport</tt>" command.
9) Look at the data with the "<tt>opreport</tt>" command.

10) Unmount USB flash drive when done.


[[Category:Developers]]
[[Category:Developers]]

Revision as of 14:45, 20 March 2007

Setting Up OProfile to Run on OLPC Laptop

It is possible to get oprofile in timer mode working on the olpc machine. Performance monitoring hardware on Geode process is not supported. The jffs2 file system does NOT support the mechanism that oprofile uses. You will need an ext3 file system such as a USB flash drive formatted as ext3 file system.

Host machine Steps

1) Download the appropriate kernel srpm from:

http://dev.laptop.org/~dilinger/stable/

2) Install srpm on src machine:

rpm -Uvh kernel-2.6.21-20070312.1.olpc.3eca75102a57502.src.rpm 

2a) Edit SOURCES/kernel-olpc-custom.config changing CONFIG_OPROFILE to:

CONFIG_OPROFILE=m

3) Start the build in the SPECS directory rebuild the kernel with command similar to:

rpmbuild -ba --define "dist olpc1p" --define "olpc 1" \
--define "head 3eca75102a57502"  --target=i586 \
./olpc-2.6.spec >& olpc_kernel.problems &

4) Copy over kernel i586 rpm to olpc machine.

5) Copy BUILD/kernel-2.6.21/linux-2.6.21.i586/vmlinux to the olpc machine. This is only needed if one wants data on where samples are taken in the kernel.

OLPC Machine Steps

After completing the steps to get a oprofile working kernel on the olpc machine:

1) Install binutils on olpc machine:

yum install binutils

2) Install oprofile on olpc machine:

yum install oprofile

3) Install the new oprofile enabled kernel:

rpm -Uvh kernel-2.6.21-20070318.olpc1p.3eca75102a57502.i586.rpm

4) If running from an image in the internal jffs2 file system, you will need to mount an ext3 file system to store the samples. Below is an example of the commands to set that up. You will need to modify for local conditions.

mkdir /media/usbflash
mount -t ext3 /dev/sda1 /media/usbflash
rm -rf /var/lib/oprofile/samples/current
mkdir /media/usbflash/samples
ln -s /media/usbflash/samples /var/lib/oprofile/samples/current

5) Reboot the olpc machine. When it reboots it will be running the oprofile enabled kernel.


6) As root configure OProfile to collect data:

opcontrol --setup --vmlinux=/root/vmlinux --separate=library

If you do not care about kernel data, you can skip installing vmlinux and configure with:

opcontrol --setup --no-vmlinux --separate=library

7) As root start oprofile running with:

opcontrol --start

8) Do desired experiment to collect data

9) As root shutdown OProfile with:

opcontrol --shutdown

9) Look at the data with the "opreport" command.

10) Unmount USB flash drive when done.