perf header: Add struct perf_session_env
authorNamhyung Kim <namhyung.kim@lge.com>
Mon, 24 Sep 2012 08:14:58 +0000 (17:14 +0900)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Mon, 24 Sep 2012 14:44:05 +0000 (11:44 -0300)
The struct perf_session_env will preserve environment information at the
time of perf record.  It can be accessed anytime after parsing a
perf.data file if needed.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
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/1348474503-15070-2-git-send-email-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/header.h

index 58de08b21bce313babe954601860caf345401df9..5867c7d74f9790708cff2de939b2e9243bbaefe5 100644 (file)
@@ -58,6 +58,29 @@ struct perf_header;
 int perf_file_header__read(struct perf_file_header *header,
                           struct perf_header *ph, int fd);
 
+struct perf_session_env {
+       char                    *hostname;
+       char                    *os_release;
+       char                    *version;
+       char                    *arch;
+       int                     nr_cpus_online;
+       int                     nr_cpus_avail;
+       char                    *cpu_desc;
+       char                    *cpuid;
+       unsigned long long      total_mem;
+
+       int                     nr_cmdline;
+       char                    *cmdline;
+       int                     nr_sibling_cores;
+       char                    *sibling_cores;
+       int                     nr_sibling_threads;
+       char                    *sibling_threads;
+       int                     nr_numa_nodes;
+       char                    *numa_nodes;
+       int                     nr_pmu_mappings;
+       char                    *pmu_mappings;
+};
+
 struct perf_header {
        int                     frozen;
        bool                    needs_swap;
@@ -67,6 +90,7 @@ struct perf_header {
        u64                     event_offset;
        u64                     event_size;
        DECLARE_BITMAP(adds_features, HEADER_FEAT_BITS);
+       struct perf_session_env env;
 };
 
 struct perf_evlist;