The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [patch] Allow for profile_buf size = kernel text size
@ 2002-10-18  9:24 Ravikiran G Thirumalai
  0 siblings, 0 replies; only message in thread
From: Ravikiran G Thirumalai @ 2002-10-18  9:24 UTC (permalink / raw)
  To: torvalds, Andrew Morton; +Cc: linux-kernel

Hi
The following patch enables the kernel profiler to set up profiling
buffer equal to the kernel text size.  It is particularly useful
while doing insn level profiling on archs with variable sized instructions.
There is a better possiblity of ticks being attributed to the right
instructions if the profiling granularity is better. Patch applies neatly on
2.5.43 and 2.5.43-mm2. Tested well on PIII 4way.  Please apply.

-Kiran


diff -X dontdiff -ruN linux-2.5.43/fs/proc/proc_misc.c readprofile-2.5.43/fs/proc/proc_misc.c
--- linux-2.5.43/fs/proc/proc_misc.c	Wed Oct 16 08:57:18 2002
+++ readprofile-2.5.43/fs/proc/proc_misc.c	Fri Oct 18 10:13:44 2002
@@ -648,7 +648,7 @@
 		proc_root_kcore->size =
 				(size_t)high_memory - PAGE_OFFSET + PAGE_SIZE;
 	}
-	if (prof_shift) {
+	if (prof_on) {
 		entry = create_proc_entry("profile", S_IWUSR | S_IRUGO, NULL);
 		if (entry) {
 			entry->proc_fops = &proc_profile_operations;
diff -X dontdiff -ruN linux-2.5.43/include/linux/profile.h readprofile-2.5.43/include/linux/profile.h
--- linux-2.5.43/include/linux/profile.h	Wed Oct 16 08:58:20 2002
+++ readprofile-2.5.43/include/linux/profile.h	Thu Oct 17 16:58:56 2002
@@ -17,6 +17,7 @@
 extern unsigned int * prof_buffer;
 extern unsigned long prof_len;
 extern unsigned long prof_shift;
+extern int prof_on;
 
 
 enum profile_type {
diff -X dontdiff -ruN linux-2.5.43/kernel/profile.c readprofile-2.5.43/kernel/profile.c
--- linux-2.5.43/kernel/profile.c	Wed Oct 16 08:59:04 2002
+++ readprofile-2.5.43/kernel/profile.c	Thu Oct 17 17:00:27 2002
@@ -14,12 +14,15 @@
 unsigned int * prof_buffer;
 unsigned long prof_len;
 unsigned long prof_shift;
+int prof_on;
 
 int __init profile_setup(char * str)
 {
 	int par;
-	if (get_option(&str,&par))
+	if (get_option(&str,&par)) {
 		prof_shift = par;
+		prof_on = 1;
+	}
 	return 1;
 }
 
@@ -28,7 +31,7 @@
 {
 	unsigned int size;
  
-	if (!prof_shift) 
+	if (!prof_on) 
 		return;
  
 	/* only text is profiled */

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2002-10-18  9:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-10-18  9:24 [patch] Allow for profile_buf size = kernel text size Ravikiran G Thirumalai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox