aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2009-03-23 17:12:36 -0400
committerSteven Rostedt <srostedt@redhat.com>2009-03-24 23:41:06 -0400
commit493762fc534c71d11d489f872c4b4a2c61173668 (patch)
tree90f308853f26ad5334717d53b18680957aab5ff4 /include/linux
parentbac429f037f1a51a74d62bad6d1518c3be065df3 (diff)
tracing: move function profiler data out of function struct
Impact: reduce size of memory in function profiler The function profiler originally introduces its counters into the function records itself. There is 20 thousand different functions on a normal system, and that is adding 20 thousand counters for profiling event when not needed. A normal run of the profiler yields only a couple of thousand functions executed, depending on what is being profiled. This means we have around 18 thousand useless counters. This patch rectifies this by moving the data out of the function records used by dynamic ftrace. Data is preallocated to hold the functions when the profiling begins. Checks are made during profiling to see if more recorcds should be allocated, and they are allocated if it is safe to do so. This also removes the dependency from using dynamic ftrace, and also removes the overhead by having it enabled. Signed-off-by: Steven Rostedt <srostedt@redhat.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/ftrace.h4
1 files changed, 0 insertions, 4 deletions
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
index 0456c3a51c66..015a3d22cf74 100644
--- a/include/linux/ftrace.h
+++ b/include/linux/ftrace.h
@@ -153,10 +153,6 @@ struct dyn_ftrace {
153 unsigned long flags; 153 unsigned long flags;
154 struct dyn_ftrace *newlist; 154 struct dyn_ftrace *newlist;
155 }; 155 };
156#ifdef CONFIG_FUNCTION_PROFILER
157 unsigned long counter;
158 struct hlist_node node;
159#endif
160 struct dyn_arch_ftrace arch; 156 struct dyn_arch_ftrace arch;
161}; 157};
162 158