Re: [PATCH v2 09/15] perf record: introduce thread specific objects for trace streaming

From: Alexei Budankov
Date: Mon Oct 26 2020 - 04:53:28 EST




On 24.10.2020 18:44, Jiri Olsa wrote:
> On Wed, Oct 21, 2020 at 07:03:48PM +0300, Alexey Budankov wrote:
>>
>> Introduce thread local data object and its array to be used for
>> threaded trace streaming.
>>
>> Signed-off-by: Alexey Budankov <alexey.budankov@xxxxxxxxxxxxxxx>
>> ---
>> 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;
>> +};
>
> please merge the struct with the code that's using it

Corrected in v3.

Thanks,
Alexei

>
> jirka
>
>> +
>> 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
>>
>