[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.1.10.0804181430310.3261@apollo.tec.linutronix.de>
Date: Fri, 18 Apr 2008 14:33:20 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: LKML <linux-kernel@...r.kernel.org>
cc: Ingo Molnar <mingo@...e.hu>, Steven Rostedt <rostedt@...dmis.org>
Subject: [PATCH] ftrace: simplify hex print
simplify hex to ascii conversion with a lookup table.
Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
---
kernel/trace/trace.c | 23 +++++------------------
1 file changed, 5 insertions(+), 18 deletions(-)
Index: linux/kernel/trace/trace.c
===================================================================
--- linux.orig/kernel/trace/trace.c
+++ linux/kernel/trace/trace.c
@@ -248,19 +248,18 @@ trace_seq_putmem(struct trace_seq *s, vo
}
#define HEX_CHARS 17
+static const char hex2asc[] = "0123456789abcdef";
static int
trace_seq_putmem_hex(struct trace_seq *s, void *mem, size_t len)
{
unsigned char hex[HEX_CHARS];
- unsigned char *data;
+ unsigned char *data = mem;
unsigned char byte;
int i, j;
BUG_ON(len >= HEX_CHARS);
- data = mem;
-
#ifdef __BIG_ENDIAN
for (i = 0, j = 0; i < len; i++) {
#else
@@ -268,22 +267,10 @@ trace_seq_putmem_hex(struct trace_seq *s
#endif
byte = data[i];
- hex[j] = byte & 0x0f;
- if (hex[j] >= 10)
- hex[j] += 'a' - 10;
- else
- hex[j] += '0';
- j++;
-
- hex[j] = byte >> 4;
- if (hex[j] >= 10)
- hex[j] += 'a' - 10;
- else
- hex[j] += '0';
- j++;
+ hex[j++] = hex2asc[byte & 0x0f];
+ hex[j++] = hex2asc[byte >> 4];
}
- hex[j] = ' ';
- j++;
+ hex[j++] = ' ';
return trace_seq_putmem(s, hex, j);
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists