kernel profiler in 2.5.

Andrew Morton (akpm@zip.com.au)
Mon, 29 Jul 2002 01:14:05 -0700


The kernel profiler broke quite some time ago. It's actually
a problem with readprofile(8). It doesn't like the weak
symbols in System.map:

c011fb04 T notifier_call_chain
c011fb44 T register_reboot_notifier
c011fb5c T unregister_reboot_notifier
c011fb74 T sys_ni_syscall
c011fb74 W sys_acct
c011fb74 W sys_quotactl
c011fb80 t proc_sel
c011fc28 T sys_setpriority

Here's a quick fix. There are probably smarter ways...

--- sys-utils/readprofile.c.orig Mon Jul 29 00:58:46 2002
+++ sys-utils/readprofile.c Mon Jul 29 00:59:27 2002
@@ -267,7 +267,8 @@
/* ignore any LEADING (before a '[tT]' symbol is found)
Absolute symbols */
if (*mode == 'A' && total == 0) continue;
- if (*mode!='T' && *mode!='t') break;/* only text is profiled */
+ if (*mode!='T' && *mode!='t' && *mode!='w' && *mode != 'W')
+ break;/* only text is profiled */

if (indx >= len / sizeof(*buf)) {
fprintf(stderr, _("%s: profile address out of range. "

And now HZ has been set to 1000, the resolution is awfully
good. The `-M' multiplier thing we added is overkill now.

-
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/