|
@@ -373,24 +373,18 @@ static int lstats_show_proc(struct seq_file *m, void *v)
|
|
|
return -ESRCH;
|
|
|
seq_puts(m, "Latency Top version : v0.1\n");
|
|
|
for (i = 0; i < 32; i++) {
|
|
|
- if (task->latency_record[i].backtrace[0]) {
|
|
|
+ struct latency_record *lr = &task->latency_record[i];
|
|
|
+ if (lr->backtrace[0]) {
|
|
|
int q;
|
|
|
- seq_printf(m, "%i %li %li ",
|
|
|
- task->latency_record[i].count,
|
|
|
- task->latency_record[i].time,
|
|
|
- task->latency_record[i].max);
|
|
|
+ seq_printf(m, "%i %li %li",
|
|
|
+ lr->count, lr->time, lr->max);
|
|
|
for (q = 0; q < LT_BACKTRACEDEPTH; q++) {
|
|
|
- char sym[KSYM_SYMBOL_LEN];
|
|
|
- char *c;
|
|
|
- if (!task->latency_record[i].backtrace[q])
|
|
|
+ unsigned long bt = lr->backtrace[q];
|
|
|
+ if (!bt)
|
|
|
break;
|
|
|
- if (task->latency_record[i].backtrace[q] == ULONG_MAX)
|
|
|
+ if (bt == ULONG_MAX)
|
|
|
break;
|
|
|
- sprint_symbol(sym, task->latency_record[i].backtrace[q]);
|
|
|
- c = strchr(sym, '+');
|
|
|
- if (c)
|
|
|
- *c = 0;
|
|
|
- seq_printf(m, "%s ", sym);
|
|
|
+ seq_printf(m, " %ps", (void *)bt);
|
|
|
}
|
|
|
seq_printf(m, "\n");
|
|
|
}
|