[RFC PATCH 21/30 v3] Sort trace by timestamp

From: Steven Rostedt
Date: Tue Jan 15 2008 - 15:52:51 EST


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@xxxxxxxxxx>
---
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/