Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1295806 > unrolled thread

[PATCH] trace-cmd: Print relate stacktrace at once

Started byNamhyung Kim <namhyung@gmail.com>
First post2015-12-21 09:00 +0100
Last post2015-12-21 13:50 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] trace-cmd: Print relate stacktrace at once Namhyung Kim <namhyung@gmail.com> - 2015-12-21 09:00 +0100
    Re: [PATCH] trace-cmd: Print relate stacktrace at once Joonsoo Kim <js1304@gmail.com> - 2015-12-21 13:50 +0100

#1295806 — [PATCH] trace-cmd: Print relate stacktrace at once

FromNamhyung Kim <namhyung@gmail.com>
Date2015-12-21 09:00 +0100
Subject[PATCH] trace-cmd: Print relate stacktrace at once
Message-ID<qI3xU-3Em-3@gated-at.bofh.it>
From: Namhyung Kim <namhyung@kernel.org>

Currently trace-cmd prints ring buffer events in a strict time order.
But it sometimes annoying that stacktrace from the same cpu can be
intermixed with events from other cpu.  This patch looks next event when
print last record and prints it also if it's a stacktrace (from the same
cpu).

Requested-by: Joonsoo Kim <js1304@gmail.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
 trace-read.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/trace-read.c b/trace-read.c
index aec8532..10edf5d 100644
--- a/trace-read.c
+++ b/trace-read.c
@@ -1155,9 +1155,20 @@ static void read_data_info(struct list_head *handle_list, enum output_type otype
 			}
 		}
 		if (last_record) {
+			int last_cpu = last_record->cpu;
+
 			print_handle_file(last_handle);
 			trace_show_data(last_handle->handle, last_record, profile);
 			free_handle_record(last_handle);
+
+			/* print related stacktrace at once */
+			record = tracecmd_peek_data(last_handle->handle, last_cpu);
+			if (record && pevent_data_type(pevent, record) == stacktrace_id &&
+			    test_stacktrace(last_handle, record, 1)) {
+				print_handle_file(last_handle);
+				trace_show_data(last_handle->handle, record, profile);
+				tracecmd_read_data(last_handle->handle, last_cpu);
+			}
 		}
 	} while (last_record);
 
-- 
2.6.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1295955

FromJoonsoo Kim <js1304@gmail.com>
Date2015-12-21 13:50 +0100
Message-ID<qI84x-6zh-5@gated-at.bofh.it>
In reply to#1295806
2015-12-21 16:54 GMT+09:00 Namhyung Kim <namhyung@gmail.com>:
> From: Namhyung Kim <namhyung@kernel.org>
>
> Currently trace-cmd prints ring buffer events in a strict time order.
> But it sometimes annoying that stacktrace from the same cpu can be
> intermixed with events from other cpu.  This patch looks next event when
> print last record and prints it also if it's a stacktrace (from the same
> cpu).
>
> Requested-by: Joonsoo Kim <js1304@gmail.com>
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>

Good Job!
I tested it and it seems that it works well for me.

Thanks!!!
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web