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 --- 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]; }; -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/