We've downloaded and applied the kernprof patch to 2.3.99-pre3.
We rebuilt gcc (well, egcs 2.91.66) with the gcc-patch.
Here is our experience to date:
pc mode profiling appears to work.
call backtracing (mode "ct") produces a gmon.out.cpu.{0,1,2,3} file;
however, when I run "gprof vmlinux gmon.out.cpu*" I get the following
message:
gprof: gmount.out.cpu.0: found bad tag 3. (file corrupted?)
This is too bad because this should provide the information we
want at relatively low overhead. Are we doing something wrong?
This kernel was built >>with<< frame pointers. We'd appreciate
some help in diagnosing the problem here.
If I then compile with mcount enabled (the above were with frame
pointers enabled) I can get output for call graph, annotated call
graph, and call count using the gmon.out file and gprof. However,
for "call count" the times reported appear to be bogus (shouldn't the times
all be zero like they are for "call graph"?).
Best Regards,
Ray Bryant
IBM Linux Technology Center
raybry@xxxxxxxxxx
512-838-8538
.~.
/ V \ L I N U X
// \\ >Don't fear the penguin<
/( )\
^^^ ^^^
We are Linux. Resistance is an indication that you missed the point.
|