ksym_tracer: Fix the output of stat tracing

- make ksym_tracer_stat_start() return head->first instead of
  &head->first
- make the output properly aligned

Before:

   Access type                Symbol                     Counter
     NA                   <NA>                              0
     RW                   pid_max                               0

After:

  Access Type   Symbol                                       Counter
  -----------   ------                                       -------
  RW            pid_max                                            0

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
Cc: "K.Prasad" <prasad@linux.vnet.ibm.com>
Cc: Alan Stern <stern@rowland.harvard.edu>
Cc: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <4A52E346.5050608@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Li Zefan 2009-07-07 13:55:18 +08:00 коммит произвёл Ingo Molnar
Родитель 558df6c8f7
Коммит 9d7e934408
1 изменённых файлов: 11 добавлений и 9 удалений

Просмотреть файл

@ -453,8 +453,10 @@ device_initcall(init_ksym_trace);
#ifdef CONFIG_PROFILE_KSYM_TRACER #ifdef CONFIG_PROFILE_KSYM_TRACER
static int ksym_tracer_stat_headers(struct seq_file *m) static int ksym_tracer_stat_headers(struct seq_file *m)
{ {
seq_printf(m, " Access type "); seq_puts(m, " Access Type ");
seq_printf(m, " Symbol Counter \n"); seq_puts(m, " Symbol Counter\n");
seq_puts(m, " ----------- ");
seq_puts(m, " ------ -------\n");
return 0; return 0;
} }
@ -472,27 +474,27 @@ static int ksym_tracer_stat_show(struct seq_file *m, void *v)
switch (access_type) { switch (access_type) {
case HW_BREAKPOINT_WRITE: case HW_BREAKPOINT_WRITE:
seq_printf(m, " W "); seq_puts(m, " W ");
break; break;
case HW_BREAKPOINT_RW: case HW_BREAKPOINT_RW:
seq_printf(m, " RW "); seq_puts(m, " RW ");
break; break;
default: default:
seq_printf(m, " NA "); seq_puts(m, " NA ");
} }
if (lookup_symbol_name(entry->ksym_addr, fn_name) >= 0) if (lookup_symbol_name(entry->ksym_addr, fn_name) >= 0)
seq_printf(m, " %s ", fn_name); seq_printf(m, " %-36s", fn_name);
else else
seq_printf(m, " <NA> "); seq_printf(m, " %-36s", "<NA>");
seq_printf(m, " %15lu\n", entry->counter);
seq_printf(m, "%15lu\n", entry->counter);
return 0; return 0;
} }
static void *ksym_tracer_stat_start(struct tracer_stat *trace) static void *ksym_tracer_stat_start(struct tracer_stat *trace)
{ {
return &(ksym_filter_head.first); return ksym_filter_head.first;
} }
static void * static void *