perf top: Create the evlist sooner
authorNamhyung Kim <namhyung@kernel.org>
Tue, 22 Dec 2015 17:07:01 +0000 (02:07 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 6 Jan 2016 23:11:11 +0000 (20:11 -0300)
This is a preparation to support dynamic sort keys for tracepoint
events.  Dynamic sort keys can be created for specific fields in trace
events so it needs the event information, so we need to pass the evlist
to the sort routines, create it sooner so that the next patch can do
that.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <andi@firstfloor.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1450804030-29193-5-git-send-email-namhyung@kernel.org
[ Split from the patch passing the evlist to the sort routines ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-top.c

index 9ebd67a42ededaba77ff03e60299b17b6a6edfc1..4e913d85251874e178b35e39e88eca03b39edee7 100644 (file)
@@ -1231,6 +1231,12 @@ int cmd_top(int argc, const char **argv, const char *prefix __maybe_unused)
        if (argc)
                usage_with_options(top_usage, options);
 
+       if (!top.evlist->nr_entries &&
+           perf_evlist__add_default(top.evlist) < 0) {
+               pr_err("Not enough memory for event selector list\n");
+               goto out_delete_evlist;
+       }
+
        sort__mode = SORT_MODE__TOP;
        /* display thread wants entries to be collapsed in a different tree */
        sort__need_collapse = 1;
@@ -1277,12 +1283,6 @@ int cmd_top(int argc, const char **argv, const char *prefix __maybe_unused)
                goto out_delete_evlist;
        }
 
-       if (!top.evlist->nr_entries &&
-           perf_evlist__add_default(top.evlist) < 0) {
-               ui__error("Not enough memory for event selector list\n");
-               goto out_delete_evlist;
-       }
-
        symbol_conf.nr_events = top.evlist->nr_entries;
 
        if (top.delay_secs < 1)
This page took 0.029735 seconds and 5 git commands to generate.