Messages in this thread Patch in this message | | | Subject | Re: [patch] clean hex output of ftrace | From | Harvey Harrison <> | Date | Wed, 08 Oct 2008 16:51:49 -0700 |
| |
On Wed, 2008-10-08 at 15:22 -0700, Joe Perches wrote: > I'm surprised Harvey Harrison hasn't changed it to pack_hex_byte > and removed the static. >
From: Harvey Harrison <harvey.harrison@gmail.com> Subject: [PATCH] ftrace: Fix inversion of hex output and use common routines
Fix the output of ftrace in hex mode as the hi/lo nibbles are output in reverse order. Without this patch, the output of ftrace is:
raw mode : 6474 0 141531612444 0 140 + 6402 120 S hex mode : 000091a4 00000000 000000023f1f50c1 00000000 c8 000000b2 00009120 87 ffff00c8 00000035
There is an inversion on ouput hex(6474) is 194a
[based on a patch by Philippe Reynes <tremyfr@yahoo.fr>] Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> --- kernel/trace/trace.c | 8 ++------ 1 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 8f3fb3d..763f763 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -396,14 +396,12 @@ trace_seq_putmem(struct trace_seq *s, void *mem, size_t len) } #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 = mem; - unsigned char byte; int i, j; BUG_ON(len >= HEX_CHARS); @@ -413,10 +411,8 @@ trace_seq_putmem_hex(struct trace_seq *s, void *mem, size_t len) #else for (i = len-1, j = 0; i >= 0; i--) { #endif - byte = data[i]; - - hex[j++] = hex2asc[byte & 0x0f]; - hex[j++] = hex2asc[byte >> 4]; + hex[j++] = hex_asc_hi(data[i]); + hex[j++] = hex_asc_lo(data[i]); } hex[j++] = ' '; -- 1.6.0.2.471.g47a76
| |