aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung.kim@lge.com>2013-04-03 08:26:10 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2013-05-28 09:23:53 -0400
commit2f532d09fa3a7eaf7cf1c23de9767eab8c8c0e7e (patch)
treec4731ac35cd5ecf6bc7201bce7e4069c0321dd38 /tools/perf
parent55369fc179b0572d0b4a06a9be1d2779b3ac22e0 (diff)
perf sort: Factor out common code in sort_dimension__add()
Let's remove duplicate code. Suggested-by: Jiri Olsa <jolsa@redhat.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Andi Kleen <andi@firstfloor.org> Cc: David Ahern <dsahern@gmail.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/r/1364991979-3008-2-git-send-email-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf')
-rw-r--r--tools/perf/util/sort.c41
1 files changed, 17 insertions, 24 deletions
diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c
index a6ddad41d57a..a997955085eb 100644
--- a/tools/perf/util/sort.c
+++ b/tools/perf/util/sort.c
@@ -895,6 +895,21 @@ static struct sort_dimension bstack_sort_dimensions[] = {
895 895
896#undef DIM 896#undef DIM
897 897
898static void __sort_dimension__add(struct sort_dimension *sd, enum sort_type idx)
899{
900 if (sd->taken)
901 return;
902
903 if (sd->entry->se_collapse)
904 sort__need_collapse = 1;
905
906 if (list_empty(&hist_entry__sort_list))
907 sort__first_dimension = idx;
908
909 list_add_tail(&sd->entry->list, &hist_entry__sort_list);
910 sd->taken = 1;
911}
912
898int sort_dimension__add(const char *tok) 913int sort_dimension__add(const char *tok)
899{ 914{
900 unsigned int i; 915 unsigned int i;
@@ -922,18 +937,7 @@ int sort_dimension__add(const char *tok)
922 sort__has_sym = 1; 937 sort__has_sym = 1;
923 } 938 }
924 939
925 if (sd->taken) 940 __sort_dimension__add(sd, i);
926 return 0;
927
928 if (sd->entry->se_collapse)
929 sort__need_collapse = 1;
930
931 if (list_empty(&hist_entry__sort_list))
932 sort__first_dimension = i;
933
934 list_add_tail(&sd->entry->list, &hist_entry__sort_list);
935 sd->taken = 1;
936
937 return 0; 941 return 0;
938 } 942 }
939 943
@@ -949,18 +953,7 @@ int sort_dimension__add(const char *tok)
949 if (sd->entry == &sort_sym_from || sd->entry == &sort_sym_to) 953 if (sd->entry == &sort_sym_from || sd->entry == &sort_sym_to)
950 sort__has_sym = 1; 954 sort__has_sym = 1;
951 955
952 if (sd->taken) 956 __sort_dimension__add(sd, i + __SORT_BRANCH_STACK);
953 return 0;
954
955 if (sd->entry->se_collapse)
956 sort__need_collapse = 1;
957
958 if (list_empty(&hist_entry__sort_list))
959 sort__first_dimension = i + __SORT_BRANCH_STACK;
960
961 list_add_tail(&sd->entry->list, &hist_entry__sort_list);
962 sd->taken = 1;
963
964 return 0; 957 return 0;
965 } 958 }
966 959