Dear List Members,
We would like to announce the initial version of oprofile callgraph
support on the MIPS architecture.
Our implementation requires no user space changes to oprofile, only a
few kernel patches need to be applied. In this first version we
provide kernel patches for the 2.6.32 version, but we intend to update
the patches to the latest kernel version to submit the patches into
the mainline kernel. We also intend to provide a version for the
Honeycomb (3.0) Android kernels.
The current version was mostly tested with MIPS Android, running the
Froyo release (2.2). We tested the implementation on Sigma Designs
8654 and ViXS XCode 4210 platforms, running in little endian mode.
One interesting property of our callgraph implementation is that it
does not require the presence of frame pointers. This way there is no
need to recompile production binaries or kernels with frame pointers
enabled. One may simply compile oprofile as a module, and enable it on
demand, even on production builds.
We also added a way to restrict the callgraph generation to kernel
space / user space, if desired. This way the overhead of callgraph
generation may be reduced.
The home page also provides a few sample callgraphs created using
kcachegrind from the oprofile data.
You may download the code and access the documentation on the following URL: