public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] perf lock: fix sorting by wait_min
@ 2011-02-22 17:47 Marcin Slusarz
  2011-03-14 16:54 ` Marcin Slusarz
  2011-03-17 11:04 ` [tip:perf/urgent] perf lock: Fix " tip-bot for Marcin Slusarz
  0 siblings, 2 replies; 5+ messages in thread
From: Marcin Slusarz @ 2011-02-22 17:47 UTC (permalink / raw)
  To: LKML; +Cc: Peter Zijlstra, Arnaldo Carvalho de Melo, Paul Mackerras,
	Ingo Molnar

if lock was uncontended, wait_time_min == ULLONG_MAX, so we need to handle
this case differently to show high wait times first

Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
---
 tools/perf/builtin-lock.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/tools/perf/builtin-lock.c b/tools/perf/builtin-lock.c
index 0305a40..812ad26 100644
--- a/tools/perf/builtin-lock.c
+++ b/tools/perf/builtin-lock.c
@@ -202,9 +202,20 @@ static struct thread_stat *thread_stat_findnew_first(u32 tid)
 SINGLE_KEY(nr_acquired)
 SINGLE_KEY(nr_contended)
 SINGLE_KEY(wait_time_total)
-SINGLE_KEY(wait_time_min)
 SINGLE_KEY(wait_time_max)
 
+static int lock_stat_key_wait_time_min(struct lock_stat *one,
+					struct lock_stat *two)
+{
+	u64 s1 = one->wait_time_min;
+	u64 s2 = two->wait_time_min;
+	if (s1 == ULLONG_MAX)
+		s1 = 0;
+	if (s2 == ULLONG_MAX)
+		s2 = 0;
+	return s1 > s2;
+}
+
 struct lock_key {
 	/*
 	 * name: the value for specify by user
-- 
1.7.4.rc3


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-03-17 11:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-22 17:47 [PATCH] perf lock: fix sorting by wait_min Marcin Slusarz
2011-03-14 16:54 ` Marcin Slusarz
2011-03-14 19:23   ` Arnaldo Carvalho de Melo
2011-03-15  8:08     ` Hitoshi Mitake
2011-03-17 11:04 ` [tip:perf/urgent] perf lock: Fix " tip-bot for Marcin Slusarz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox