[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d6dc0437-854f-8dad-91fc-404138d171a4@huawei.com>
Date: Fri, 23 Jun 2023 13:48:39 +0800
From: Yang Jihong <yangjihong1@...wei.com>
To: Adrian Hunter <adrian.hunter@...el.com>, <peterz@...radead.org>,
<mingo@...hat.com>, <acme@...nel.org>, <mark.rutland@....com>,
<alexander.shishkin@...ux.intel.com>, <jolsa@...nel.org>,
<namhyung@...nel.org>, <irogers@...gle.com>,
<linux-perf-users@...r.kernel.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 0/2] perf/core: deliver PERF_RECORD_COMM and
PERF_RECORD_MMAP side-band events to all online cpus
Hello,
On 2023/6/21 2:49, Adrian Hunter wrote:
> On 20/06/23 18:55, Yang Jihong wrote:
>> Tasks are migrated between cores due to scheduling.
>> If perf samples specified CPUs, PERF_RECORD_COMM and PERF_RECORD_MMAP
>> events need be deliver to all cores to avoids the problem that the comm
>> and symbols cannot be parsed due to task migration to the target core.
>>
>> The specific scenarios are as follows:
>>
>> CPU0 CPU1
>> perf record -C 0 start
>> taskA starts to be created and executed
>> -> PERF_RECORD_COMM and PERF_RECORD_MMAP
>> events only deliver to CPU1
>> ......
>> |
>> migrate to CPU0
>> |
>> Running on CPU0 <----------/
>> ...
>>
>> perf record -C 0 stop
>>
>> Now perf samples the PC of taskA. However, perf does not record the
>> PERF_RECORD_COMM and PERF_RECORD_COMM events of taskA.
>> Therefore, the comm and symbols of taskA cannot be parsed.
>
> perf record deals with this for PERF_RECORD_TEXT_POKE, by opening
> the corresponding "dummy" event on each CPU irrespective of whether
> the main events are on selected CPUs. Refer
> evlist__add_dummy_on_all_cpus().
>
> So this could be handled by perf record.
Okay, I'll take a look at it and use this solution to deal with it.
Thanks,
Yang
Powered by blists - more mailing lists