Skip to contentSkip to conversation

kernel profiler in 2.5.

PATCH Andrew Morton 1 participant 1 message Jul 29, 2002

lore
Share & tools
lore
#0 lore raw

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...

readprofile.c renamed from readprofile.c.orig +2 -1
@@ -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.

-