Introduce thread local data object and its array to be used for
threaded trace streaming.

Signed-off-by: Alexey Budankov <alexey.budan...@linux.intel.com>
---
 tools/perf/builtin-record.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index ba26d75c51d6..8e512096a060 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -85,11 +85,29 @@ struct switch_output {
        int              cur_file;
 };
 
+struct thread_data {
+       pid_t              tid;
+       struct {
+               int        msg[2];
+               int        ack[2];
+       } comm;
+       struct fdarray     pollfd;
+       int                ctlfd_pos;
+       struct mmap        *maps;
+       int                nr_mmaps;
+       struct record      *rec;
+       unsigned long long samples;
+       unsigned long      waking;
+       u64                bytes_written;
+};
+
 struct record {
        struct perf_tool        tool;
        struct record_opts      opts;
        u64                     bytes_written;
        struct perf_data        data;
+       struct thread_data      *thread_data;
+       int                     nr_thread_data;
        struct auxtrace_record  *itr;
        struct evlist   *evlist;
        struct perf_session     *session;
-- 
2.24.1

Reply via email to