From b0a45203a75a800015828ac89f2945981019b65b Mon Sep 17 00:00:00 2001 From: Jiri Olsa Date: Thu, 12 Jun 2014 09:50:11 +0200 Subject: perf tools: Allow out of order messages in forced flush In forced flush (OE_FLUSH__HALF) we break the rules of the flush timestamp via PERF_RECORD_FINISHED_ROUND event, so we could get out of order event. Do not force error in this case plus changing the output warning to use WARN_ONCE. Signed-off-by: Jiri Olsa Acked-by: David Ahern Cc: Corey Ashford Cc: David Ahern Cc: Frederic Weisbecker Cc: Ingo Molnar Cc: Jean Pihet Cc: Namhyung Kim Cc: Paul Mackerras Cc: Peter Zijlstra Link: http://lkml.kernel.org/n/tip-8q8794a8nlmpd1u8xrqmcyd2@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/util/ordered-events.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'tools/perf/util/ordered-events.c') diff --git a/tools/perf/util/ordered-events.c b/tools/perf/util/ordered-events.c index 8a8aeab8e7ec..706ce1a66169 100644 --- a/tools/perf/util/ordered-events.c +++ b/tools/perf/util/ordered-events.c @@ -169,6 +169,7 @@ int ordered_events__flush(struct perf_session *s, struct perf_tool *tool, { struct ordered_events *oe = &s->ordered_events; static const char * const str[] = { + "NONE", "FINAL", "ROUND", "HALF ", @@ -198,6 +199,7 @@ int ordered_events__flush(struct perf_session *s, struct perf_tool *tool, } case OE_FLUSH__ROUND: + case OE_FLUSH__NONE: default: break; }; @@ -211,6 +213,8 @@ int ordered_events__flush(struct perf_session *s, struct perf_tool *tool, if (!err) { if (how == OE_FLUSH__ROUND) oe->next_flush = oe->max_timestamp; + + oe->last_flush_type = how; } pr_oe_time(oe->next_flush, "next_flush - ordered_events__flush POST %s, nr_events %u\n", -- cgit v1.2.3