summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorLai Jiangshan <laijs@cn.fujitsu.com>2009-03-24 13:38:06 +0800
committerIngo Molnar <mingo@elte.hu>2009-03-24 16:43:12 +0100
commitee000b7f9fe429d2470c674ccec8d344f6789e0d (patch)
tree35b480a5e5fb90d5a414d942bcb541e7887334d6 /include
parentcc59c9e8d0165c632fd056c4a23e36f917507fb4 (diff)
downloadlwn-ee000b7f9fe429d2470c674ccec8d344f6789e0d.tar.gz
lwn-ee000b7f9fe429d2470c674ccec8d344f6789e0d.zip
tracing: use union for multi-usages field
Impact: cleanup struct dyn_ftrace::ip has different usages in his lifecycle, we use union for it. And also for struct dyn_ftrace::flags. Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com> Cc: Steven Rostedt <srostedt@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> LKML-Reference: <49C871BE.3080405@cn.fujitsu.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r--include/linux/ftrace.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/include/linux/ftrace.h b/include/linux/ftrace.h
index 1141248c84ee..015a3d22cf74 100644
--- a/include/linux/ftrace.h
+++ b/include/linux/ftrace.h
@@ -145,9 +145,15 @@ enum {
};
struct dyn_ftrace {
- unsigned long ip; /* address of mcount call-site */
- unsigned long flags;
- struct dyn_arch_ftrace arch;
+ union {
+ unsigned long ip; /* address of mcount call-site */
+ struct dyn_ftrace *freelist;
+ };
+ union {
+ unsigned long flags;
+ struct dyn_ftrace *newlist;
+ };
+ struct dyn_arch_ftrace arch;
};
int ftrace_force_update(void);