From: Yang Jihong <yangjihong1@huawei.com>
To: Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>
Cc: <peterz@infradead.org>, <mingo@redhat.com>, <acme@kernel.org>,
<mark.rutland@arm.com>, <alexander.shishkin@linux.intel.com>,
<jolsa@kernel.org>, <namhyung@kernel.org>,
<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 2/7] perf evlist: Add evlist__findnew_tracking_event() helper
Date: Sat, 29 Jul 2023 10:10:59 +0800 [thread overview]
Message-ID: <ff345f02-cebd-9e76-b15c-e07249f516f1@huawei.com> (raw)
In-Reply-To: <CAP-5=fXmpaKrVLifHh5H7Lf_nhNLGWFS0=CLRT2yHK5guReNGA@mail.gmail.com>
Hello,
On 2023/7/29 0:40, Ian Rogers wrote:
> On Thu, Jul 20, 2023 at 12:24 AM Yang Jihong <yangjihong1@huawei.com> wrote:
>>
>> Hello,
>>
>> On 2023/7/20 0:44, Ian Rogers wrote:
>>> On Fri, Jul 14, 2023 at 8:31 PM Yang Jihong <yangjihong1@huawei.com> wrote:
>>>>
>>>> Currently, intel-bts, intel-pt, and arm-spe may add a dummy event for
>>>> tracking to the evlist. We may need to search for the dummy event for
>>>> some settings. Therefore, add evlist__findnew_tracking_event() helper.
>>>>
>>>> evlist__findnew_tracking_event() also deal with system_wide maps if
>>>> system_wide is true.
>>>
>>> I'm wondering if we can simplify the naming in the API, we have "dummy
>>> event" which makes sense as we literally call the event "dummy",
>>> "sideband" which refers to the kind of samples/events the dummy event
>>> will record but "tracking" I think tends to get used as a verb rather
>>> than a noun. So I think evlist__findnew_tracking_event should be
>>> evlist__findnew_dummy_event.
>>>
>> Uh, from the discussion that followed, it seems that there is no
>> consensus yet...
>> If there is a clear consensus on whether to use "dummy event" or
>> "tracking event", I will change the name of the API.
>>
>> I think sideband event is equivalent to tracking event (refer
>> evsel__config(), tracking events include task, mmap, mmap2, and comm
>> sideband events, which are all sideband).
>>
>> tracking event are instances of dummy event. For example, we create
>> another dummy event to record the text poke event of ksymbol (refer perf
>> record --kcore).
>>
>> An evlist contains only one tracking event, but can contain multiple
>> dummy events.
>
> Thanks for the feedback. So the tracking event is by definition the
> first dummy event in the evlist? What is the purpose of the other
Uh... It may not be the first dummy event, but evsel->track must be
true. Only one evsel in an evlist meets this condition.
> dummy events in this case? Perhaps we can get to an intention
> revealing implementation something like:
>
> /** The "tracking event" gathering sideband data is the first dummy
> event in the list. */
> struct evsel *evlist__findnew_tracking_event(struct evlist *evlist)
> {
> struct evsel *dummy = evlist__find_first_dummy_event(evlist);
>
> if (!dummy) {
> dummy = evlist__add_dummy(evlist);
> }
> return dummy;
> }
>
> But I think the key thing for me is I'm still not sure what is going
> on when there are multiple dummy events for you, what are the other
> dummy events for other than tracking sideband data?
>
For other dummy events, perf record will open a dummy event to track
ksymbol text_poke when "--kcore" option is used.
I thinks tracking ksymbol text_poke separately it needs to be processed
independently, go system_wide and enable immediately.
All of the above is my understanding, may need Adrian to confirm whether
it is accurate.
Thanks,
Yang
next prev parent reply other threads:[~2023-07-29 2:11 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 [this message]
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
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=ff345f02-cebd-9e76-b15c-e07249f516f1@huawei.com \
--to=yangjihong1@huawei.com \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--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 \
/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®