Oprofile setup: Difference between revisions
No edit summary |
RafaelOrtiz (talk | contribs) mNo edit summary |
||
Line 1: | Line 1: | ||
== Setting Up OProfile to Run on OLPC Laptop == |
== Setting Up OProfile to Run on OLPC Laptop == |
||
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. The jffs2 file system does NOT support the mechanism |
||
Line 10: | Line 10: | ||
== Host machine Steps == |
== Host machine Steps == |
||
1) Download the appropriate kernel srpm from: |
* 1) Download the appropriate kernel srpm from: |
||
http://dev.laptop.org/~dilinger/stable/ |
http://dev.laptop.org/~dilinger/stable/ |
||
2) Install srpm on src machine: |
* 2) Install srpm on src machine: |
||
rpm -Uvh kernel-2.6.21-20070312.1.olpc.3eca75102a57502.src.rpm |
rpm -Uvh kernel-2.6.21-20070312.1.olpc.3eca75102a57502.src.rpm |
||
Line 22: | Line 22: | ||
CONFIG_OPROFILE=m |
CONFIG_OPROFILE=m |
||
3) Start the build in the SPECS directory rebuild the kernel with |
* 3) Start the build in the SPECS directory rebuild the kernel with |
||
command similar to: |
command similar to: |
||
Line 29: | Line 29: | ||
./olpc-2.6.spec >& olpc_kernel.problems & |
./olpc-2.6.spec >& olpc_kernel.problems & |
||
4) Copy over kernel i586 rpm to olpc machine. |
* 4) Copy over kernel i586 rpm to olpc machine. |
||
5) Copy <tt>BUILD/kernel-2.6.21/linux-2.6.21.i586/vmlinux</tt> to the olpc machine. |
* 5) Copy <tt>BUILD/kernel-2.6.21/linux-2.6.21.i586/vmlinux</tt> to the olpc machine. |
||
This is only needed if one wants data on where samples are taken in the kernel. |
This is only needed if one wants data on where samples are taken in the kernel. |
||
Line 39: | Line 39: | ||
olpc machine: |
olpc machine: |
||
1) Install <tt>binutils</tt> on olpc machine: |
* 1) Install <tt>binutils</tt> on olpc machine: |
||
yum install binutils |
yum install binutils |
||
2) Install oprofile on olpc machine: |
* 2) Install oprofile on olpc machine: |
||
yum install oprofile |
yum install oprofile |
||
3) Install the new oprofile enabled kernel: |
* 3) Install the new oprofile enabled kernel: |
||
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) If running from an image in the internal jffs2 file system, |
||
you will need to mount another file system to store the samples. |
you will need to mount another file system to store the samples. |
||
Below are examples of the commands to set that up. You will need |
Below are examples of the commands to set that up. You will need |
||
Line 70: | Line 70: | ||
</pre> |
</pre> |
||
5) Reboot the olpc machine. When it reboots it will be running the |
* 5) Reboot the olpc machine. When it reboots it will be running the |
||
oprofile enabled kernel. |
oprofile enabled kernel. |
||
6) As <tt>root</tt> configure OProfile to collect data: |
* 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 83: | Line 83: | ||
opcontrol --setup --no-vmlinux --separate=library |
opcontrol --setup --no-vmlinux --separate=library |
||
7) As <tt>root</tt> start oprofile running with: |
* 7) As <tt>root</tt> start oprofile running with: |
||
opcontrol --start |
opcontrol --start |
||
8) Do desired experiment to collect data |
* 8) Do desired experiment to collect data |
||
9) 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 filesystem storing OProfile samples if needed. |
* 10) Unmount filesystem storing '''OProfile''' samples if needed. |
||
[[Category:Developers]] |
[[Category:Developers]] |
Revision as of 20:19, 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 another file system such as ramfs filesystem or USB flash drive formatted as ext3 or VFAT to store the OProfile data.
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 another file system to store the samples. Below are examples of the commands to set that up. You will need to modify for local conditions.
mount -t ramfs none /var/lib/oprofile
Or
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 filesystem storing OProfile samples if needed.