Messages in this thread Patch in this message | | | Date | Tue, 15 Jan 2008 15:49:28 -0500 | From | Steven Rostedt <> | Subject | [RFC PATCH 21/30 v3] Sort trace by timestamp |
| |
Now that each entry has a reliable timestamp, we can use the timestamp as the source of sorting the trace and remove the atomic increment.
Signed-off-by: Steven Rostedt <srostedt@redhat.com> --- lib/tracing/tracer.c | 3 +-- lib/tracing/tracer.h | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-)
Index: linux-compile.git/lib/tracing/tracer.c =================================================================== --- linux-compile.git.orig/lib/tracing/tracer.c 2008-01-14 13:14:14.000000000 -0500 +++ linux-compile.git/lib/tracing/tracer.c 2008-01-14 14:57:40.000000000 -0500 @@ -60,7 +60,6 @@ mctracer_add_trace_entry(struct mctracer atomic_inc(&data->underrun); entry = data->trace + idx * MCTRACER_ENTRY_SIZE; - entry->idx = atomic_inc_return(&tr->cnt); entry->ip = ip; entry->parent_ip = parent_ip; entry->pid = tsk->pid; @@ -152,7 +151,7 @@ static void *find_next_entry(struct mctr if (!tr->data[i]->trace) continue; ent = mctracer_entry_idx(tr, iter->next_idx[i], i); - if (ent && (!next || next->idx > ent->idx)) { + if (ent && (!next || next->t > ent->t)) { next = ent; next_i = i; } Index: linux-compile.git/lib/tracing/tracer.h =================================================================== --- linux-compile.git.orig/lib/tracing/tracer.h 2008-01-14 13:14:14.000000000 -0500 +++ linux-compile.git/lib/tracing/tracer.h 2008-01-14 14:57:38.000000000 -0500 @@ -6,7 +6,6 @@ struct mctracer_entry { unsigned long long t; - unsigned long idx; unsigned long ip; unsigned long parent_ip; char comm[TASK_COMM_LEN]; @@ -24,7 +23,6 @@ struct mctracer_trace { unsigned long entries; long ctrl; unsigned long iter_flags; - atomic_t cnt; struct mctracer_trace_cpu *data[NR_CPUS]; }; --
| |