From: Adrian Hunter <adrian.hunter@intel.com>
To: Yang Jihong <yangjihong1@huawei.com>,
peterz@infradead.org, mingo@redhat.com, acme@kernel.org,
mark.rutland@arm.com, alexander.shishkin@linux.intel.com,
jolsa@kernel.org, namhyung@kernel.org, irogers@google.com,
kan.liang@linux.intel.com, james.clark@arm.com,
tmricht@linux.ibm.com, ak@linux.intel.com,
anshuman.khandual@arm.com, linux-kernel@vger.kernel.org,
linux-perf-users@vger.kernel.org
Subject: Re: [PATCH v2 5/7] perf evlist: Skip dummy event sample_type check for evlist_config
Date: Tue, 18 Jul 2023 13:29:57 +0300 [thread overview]
Message-ID: <ab152551-5e65-c43d-2046-a096a28db913@intel.com> (raw)
In-Reply-To: <77ea9309-da6f-f7b9-a822-b371e0f832d3@huawei.com>
On 18/07/23 13:17, Yang Jihong wrote:
> Hello,
>
> On 2023/7/18 17:56, Adrian Hunter wrote:
>> On 18/07/23 12:30, Yang Jihong wrote:
>>> Hello,
>>>
>>> On 2023/7/17 22:41, Adrian Hunter wrote:
>>>> On 15/07/23 06:29, Yang Jihong wrote:
>>>>> The dummp event does not contain sampls data. Therefore, sample_type does
>>>>> not need to be checked.
>>>>>
>>>>> Currently, the sample id format of the actual sampling event may be changed
>>>>> after the dummy event is added.
>>>>>
>>>>> Signed-off-by: Yang Jihong <yangjihong1@huawei.com>
>>>>> ---
>>>>> tools/perf/util/record.c | 7 +++++++
>>>>> 1 file changed, 7 insertions(+)
>>>>>
>>>>> diff --git a/tools/perf/util/record.c b/tools/perf/util/record.c
>>>>> index 9eb5c6a08999..0240be3b340f 100644
>>>>> --- a/tools/perf/util/record.c
>>>>> +++ b/tools/perf/util/record.c
>>>>> @@ -128,6 +128,13 @@ void evlist__config(struct evlist *evlist, struct record_opts *opts, struct call
>>>>> evlist__for_each_entry(evlist, evsel) {
>>>>> if (evsel->core.attr.sample_type == first->core.attr.sample_type)
>>>>> continue;
>>>>> +
>>>>> + /*
>>>>> + * Skip the sample_type check for the dummy event
>>>>> + * because it does not have any samples anyway.
>>>>> + */
>>>>> + if (evsel__is_dummy_event(evsel))
>>>>> + continue;
>>>>
>>>> Sideband event records have "ID samples" so the sample type still matters.
>>>>
>>> Okay, will remove this patch in next version.
>>>
>>> Can I ask a little more about this?
>>>
>>> Use PERF_SAMPLE_IDENTIFICATION instead of PERF_SAMPLE_ID because for samples of type PERF_RECORD_SAMPLE, there may be different record formats due to different *sample_type* settings, so the fixed SAMPLE_ID location mode PERF_SAMPLE_NAME is required here.
>>>
>>> However, for the sideband event, the samples of the PERF_RECORD_SAMPLE type is not recorded (only PERF_RECORD_MMAP, PERF_RECORD_COMM, and so on). Therefore, the "use sample identifier "check can be skipped here.
>>>
>>> That's my understanding of PERF_SAMPLE_IDENTIFICATION . If there is any error, please help to correct it.
>>>
>>> *Sideband event records have "ID samples" so the sample type still matters.*
>>>
>>> Does this mean that sideband will also record samples of type PERF_RECORD_SAMPLE? What exactly is the sampling data?
>>
>> No. There are additional members as defined by struct sample_id for PERF_RECORD_MMAP:
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/perf_event.h?h=v6.4#n872
>>
> I'm sorry, maybe my comments didn't make it clear.
> I mean, can we skip the "use_sample_identifier" check here?
>
> That is, set sample_type to *XXX|PERF_SAMPLE_ID* instead of *XXX|PERF_SAMPLE_IDENTIFICATION*
In general, when there are different values of sample_type, the PERF_SAMPLE_ID is needed to determine which is which.
But PERF_SAMPLE_ID is not at a fixed position, so the sample_type is needed to find it. That is why PERF_SAMPLE_IDENTIFIER is better.
Why do want to change it?
next prev parent reply other threads:[~2023-07-18 10:30 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-15 3:29 [PATCH v2 0/7] perf record: Track sideband events for all CPUs when tracing selected CPUs Yang Jihong
2023-07-15 3:29 ` [PATCH v2 1/7] perf evlist: Add perf_evlist__go_system_wide() helper Yang Jihong
2023-07-15 3:29 ` [PATCH v2 2/7] perf evlist: Add evlist__findnew_tracking_event() helper Yang Jihong
2023-07-19 16:44 ` Ian Rogers
2023-07-19 16:59 ` Adrian Hunter
2023-07-19 17:12 ` Ian Rogers
2023-08-14 7:40 ` Adrian Hunter
2023-07-20 7:23 ` Yang Jihong
2023-07-28 16:40 ` Ian Rogers
2023-07-29 2:10 ` Yang Jihong
2023-07-15 3:29 ` [PATCH v2 3/7] perf record: Move setting dummy tracking before record__init_thread_masks() Yang Jihong
2023-07-15 3:29 ` [PATCH v2 4/7] perf record: Track sideband events for all CPUs when tracing selected CPUs Yang Jihong
2023-07-17 14:25 ` Adrian Hunter
2023-07-18 9:07 ` Yang Jihong
2023-07-15 3:29 ` [PATCH v2 5/7] perf evlist: Skip dummy event sample_type check for evlist_config Yang Jihong
2023-07-17 14:41 ` Adrian Hunter
2023-07-18 9:30 ` Yang Jihong
2023-07-18 9:56 ` Adrian Hunter
2023-07-18 10:17 ` Yang Jihong
2023-07-18 10:29 ` Adrian Hunter [this message]
2023-07-18 11:32 ` Yang Jihong
2023-07-20 5:41 ` Adrian Hunter
2023-07-20 7:25 ` Yang Jihong
2023-07-15 3:29 ` [PATCH v2 6/7] perf test: Update system-wide-dummy attr expected values Yang Jihong
2023-07-15 3:29 ` [PATCH v2 7/7] perf test: Add test case for record sideband events Yang Jihong
2023-07-19 16:48 ` Ian Rogers
2023-07-20 7:27 ` Yang Jihong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ab152551-5e65-c43d-2046-a096a28db913@intel.com \
--to=adrian.hunter@intel.com \
--cc=acme@kernel.org \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=anshuman.khandual@arm.com \
--cc=irogers@google.com \
--cc=james.clark@arm.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=tmricht@linux.ibm.com \
--cc=yangjihong1@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®