I started by using the modified profiler program Linus posted about 2
months ago, but the output wasn't too illuminating:
port-28:~# ./kprofile
do_no_page
Floating point exception
I booted with profile=2 and have /proc/profile:
-rw-r--r-- 1 root root 812812 Jan 12 03:24 /proc/profile
I have a symlink from /System.map that points to my current
kernel's System.map... /System.map -> /kernels/System.map-2.0.27
What step have I missed?
I then tried the readprofile-2.0 package, and it appears to work:
port-28:/home/jlewis# readprofile -m /System.map | sort -rn | head -5
1767 total 0.0022
166 do_wp_page 0.2530
96 read_profile 0.3750
82 do_no_page 0.0949
61 con_write 0.0109
One thing that's odd though, is Linus suggested doing:
echo >/proc/profile
to clear the profile info between benchmarks. If I do that, then
/proc/profile stays 0 length and readprofile won't work until I reboot.
Also, what about functions in modules? Can the insmod load maps be merged
with the System.map readprofile uses...or does the kernel have to be as
unmodular as possible for profiling? One of the systems I'm interested in
profiling has a driver that has to be used as a module.
------------------------------------------------------------------
Jon Lewis <jlewis@fdt.net> | Unsolicited commercial e-mail will
Network Administrator | be proof-read for $199/hr.
________Finger jlewis@inorganic5.fdt.net for PGP public key_______