aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/ftrace.c
diff options
context:
space:
mode:
authorLai Jiangshan <laijs@cn.fujitsu.com>2009-03-24 01:38:06 -0400
committerIngo Molnar <mingo@elte.hu>2009-03-24 11:43:12 -0400
commitee000b7f9fe429d2470c674ccec8d344f6789e0d (patch)
tree35b480a5e5fb90d5a414d942bcb541e7887334d6 /kernel/trace/ftrace.c
parentcc59c9e8d0165c632fd056c4a23e36f917507fb4 (diff)
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 'kernel/trace/ftrace.c')
-rw-r--r--kernel/trace/ftrace.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index bb377112b1bb..7b8722baf153 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -341,7 +341,7 @@ static inline int record_frozen(struct dyn_ftrace *rec)
341 341
342static void ftrace_free_rec(struct dyn_ftrace *rec) 342static void ftrace_free_rec(struct dyn_ftrace *rec)
343{ 343{
344 rec->ip = (unsigned long)ftrace_free_records; 344 rec->freelist = ftrace_free_records;
345 ftrace_free_records = rec; 345 ftrace_free_records = rec;
346 rec->flags |= FTRACE_FL_FREE; 346 rec->flags |= FTRACE_FL_FREE;
347} 347}
@@ -379,7 +379,7 @@ static struct dyn_ftrace *ftrace_alloc_dyn_node(unsigned long ip)
379 return NULL; 379 return NULL;
380 } 380 }
381 381
382 ftrace_free_records = (void *)rec->ip; 382 ftrace_free_records = rec->freelist;
383 memset(rec, 0, sizeof(*rec)); 383 memset(rec, 0, sizeof(*rec));
384 return rec; 384 return rec;
385 } 385 }
@@ -411,7 +411,7 @@ ftrace_record_ip(unsigned long ip)
411 return NULL; 411 return NULL;
412 412
413 rec->ip = ip; 413 rec->ip = ip;
414 rec->flags = (unsigned long)ftrace_new_addrs; 414 rec->newlist = ftrace_new_addrs;
415 ftrace_new_addrs = rec; 415 ftrace_new_addrs = rec;
416 416
417 return rec; 417 return rec;
@@ -731,7 +731,7 @@ static int ftrace_update_code(struct module *mod)
731 return -1; 731 return -1;
732 732
733 p = ftrace_new_addrs; 733 p = ftrace_new_addrs;
734 ftrace_new_addrs = (struct dyn_ftrace *)p->flags; 734 ftrace_new_addrs = p->newlist;
735 p->flags = 0L; 735 p->flags = 0L;
736 736
737 /* convert record (i.e, patch mcount-call with NOP) */ 737 /* convert record (i.e, patch mcount-call with NOP) */