perf lock: fix sorting by wait_min
PATCH 1/1 perf lock: fix sorting by wait_min
if lock was uncontended, wait_time_min == ULLONG_MAX, so we need to handle this case differently to show high wait times first
--- tools/perf/builtin-lock.c | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-)
tools/perf/builtin-lock.c +12 -1
@@ -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
Signature · 1 line
1.7.4.rc3
Quoted 25 lines · Marcin Slusarz
if lock was uncontended,
wait_time_min==ULLONG_MAX, so we need to handle this case differently to show high wait times firstSigned-off-by Marcin Slusarz <[email protected]>--- tools/perf/builtin-lock.c | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-)tools/perf/builtin-lock.c +5
-1@@ -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;
tools/perf/builtin-lock.c static struct thread_stat *thread_stat_findnew_first(u32 tid) · line 221
Quoted 10 lines
tools/perf/builtin-lock.c +7
-0+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
Anything wrong with this patch?
I can't find it in linux-next.
Marcin
Em Mon, Mar 14, 2011 at 05:54:58PM +0100, Marcin Slusarz escreveu:
Quoted 31 lines · Marcin Slusarz
Quoted 30 lines
if lock was uncontended,
wait_time_min==ULLONG_MAX, so we need to handle this case differently to show high wait times firstSigned-off-by Marcin Slusarz <[email protected]>--- tools/perf/builtin-lock.c | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-)tools/perf/builtin-lock.c +11
-1@@ -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; +}
Quoted 8 lines
tools/perf/builtin-lock.c static struct thread_stat *thread_stat_findnew_first(u32 tid) · line 221
Quoted 5 lines
tools/perf/builtin-lock.c +1
-0+struct lock_key {/* * name: the value for specify by user Anything wrong with this patch?
I can't find it in linux-next.
Hitoshi-san, can I have your acked-by for this one?
Thanks,
- Arnaldo
Quoted 41 lines · Arnaldo Carvalho de Melo
Em Mon, Mar 14, 2011 at 05:54:58PM +0100, Marcin Slusarz escreveu:
Quoted 31 lines · Marcin Slusarz
Quoted 30 lines
if lock was uncontended,
wait_time_min==ULLONG_MAX, so we need to handle this case differently to show high wait times firstSigned-off-by Marcin Slusarz<[email protected]>--- tools/perf/builtin-lock.c | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-)tools/perf/builtin-lock.c +11
-1@@ -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; +}Quoted 8 lines
tools/perf/builtin-lock.c static struct thread_stat *thread_stat_findnew_first(u32 tid)
Quoted 5 lines
tools/perf/builtin-lock.c +1
-1+struct lock_key {/* * name: the value for specify by user -- Anything wrong with this patch?
I can't find it in linux-next.
Quoted 6 lines
Hitoshi-san, can I have your acked-by for this one?
Thanks,
- Arnaldo
Hi Arnaldo and Marcin,
Sure, ignoring the case of wait_time_min == ULLONG_MAX is my mistake. Thanks a lot!
[tip:perf/urgent] perf lock: Fix sorting by wait_min
In reply to Marcin SlusarzCommit-ID: 9df03abeda3d928ecdedc0f427336931eac0a477 Gitweb: http://git.kernel.org/tip/9df03abeda3d928ecdedc0f427336931eac0a477 Author: Marcin Slusarz <[email protected]> AuthorDate: Tue, 22 Feb 2011 18:47:15 +0100 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Wed, 16 Mar 2011 09:05:58 -0300
perf lock: Fix sorting by wait_min
If lock was uncontended, wait_time_min == ULLONG_MAX, so we need to handle this case differently to show high wait times first
LKML-Reference: <[email protected]>
--- tools/perf/builtin-lock.c | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-)
tools/perf/builtin-lock.c +12 -1
@@ -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