perf record: Move 'group' to perf_event_ops
authorArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 11 Nov 2011 17:12:56 +0000 (15:12 -0200)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 28 Nov 2011 12:36:27 +0000 (10:36 -0200)
Will be used in other tools to share the command line parsing code.

Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-8x0yr77r6lrd2t699s499m8n@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-record.c
tools/perf/perf.h

index ffb627d40210f2d8aff24636d53ea89aeeaac138..ba6777a147ca80aaa3aa8774f5495964e83e35e4 100644 (file)
@@ -48,7 +48,6 @@ struct perf_record_opts record_opts = {
 static unsigned int            page_size;
 static int                     output;
 static const char              *output_name                    = NULL;
-static bool                    group                           =  false;
 static int                     realtime_prio                   =      0;
 static enum write_mode_t       write_mode                      = WRITE_FORCE;
 static bool                    no_buildid                      =  false;
@@ -202,13 +201,13 @@ static void open_counters(struct perf_evlist *evlist)
                 */
                bool time_needed = attr->sample_type & PERF_SAMPLE_TIME;
 
-               if (group && pos != first)
+               if (record_opts.group && pos != first)
                        group_fd = first->fd;
 retry_sample_id:
                attr->sample_id_all = record_opts.sample_id_all_avail ? 1 : 0;
 try_again:
-               if (perf_evsel__open(pos, evlist->cpus, evlist->threads, group,
-                                    group_fd) < 0) {
+               if (perf_evsel__open(pos, evlist->cpus, evlist->threads,
+                                    record_opts.group, group_fd) < 0) {
                        int err = errno;
 
                        if (err == EPERM || err == EACCES) {
@@ -649,7 +648,7 @@ const struct option record_options[] = {
        OPT_UINTEGER('F', "freq", &record_opts.user_freq, "profile at this frequency"),
        OPT_UINTEGER('m', "mmap-pages", &record_opts.mmap_pages,
                     "number of mmap data pages"),
-       OPT_BOOLEAN(0, "group", &group,
+       OPT_BOOLEAN(0, "group", &record_opts.group,
                    "put the counters into a counter group"),
        OPT_BOOLEAN('g', "call-graph", &record_opts.call_graph,
                    "do call-graph (stack chain/backtrace) recording"),
index 13c42f34e8b346ce5ef451c4a3666ad4d965c671..ea804f5a8cc2ff66df346395181306f1ff912bad 100644 (file)
@@ -189,6 +189,7 @@ struct perf_record_opts {
        pid_t        target_pid;
        pid_t        target_tid;
        bool         call_graph;
+       bool         group;
        bool         inherit_stat;
        bool         no_delay;
        bool         no_inherit;