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 v6 1/7] perf evlist: Add perf_evlist__go_system_wide() helper
Date: Fri, 25 Aug 2023 13:41:06 +0800 [thread overview]
Message-ID: <db2de7d0-d60d-33f8-3587-c776a3eb8fce@huawei.com> (raw)
In-Reply-To: <CAP-5=fXexLBnq1pkHPR5uXR-bL3CFTzEWkFnxHVs-71+S0yZSg@mail.gmail.com>
Hello,
On 2023/8/25 12:51, Ian Rogers wrote:
> On Sun, Aug 20, 2023 at 6:30 PM Yang Jihong <yangjihong1@huawei.com> wrote:
>>
>> For dummy events that keep tracking, we may need to modify its cpu_maps.
>> For example, change the cpu_maps to record sideband events for all CPUS.
>> Add perf_evlist__go_system_wide() helper to support this scenario.
>>
>> Signed-off-by: Yang Jihong <yangjihong1@huawei.com>
>> Acked-by: Adrian Hunter <adrian.hunter@intel.com>
>> ---
>> tools/lib/perf/evlist.c | 9 +++++++++
>> tools/lib/perf/include/internal/evlist.h | 2 ++
>> 2 files changed, 11 insertions(+)
>>
>> diff --git a/tools/lib/perf/evlist.c b/tools/lib/perf/evlist.c
>> index b8b066d0dc5e..3acbbccc1901 100644
>> --- a/tools/lib/perf/evlist.c
>> +++ b/tools/lib/perf/evlist.c
>> @@ -738,3 +738,12 @@ int perf_evlist__nr_groups(struct perf_evlist *evlist)
>> }
>> return nr_groups;
>> }
>> +
>> +void perf_evlist__go_system_wide(struct perf_evlist *evlist, struct perf_evsel *evsel)
>> +{
>> + if (!evsel->system_wide) {
>> + evsel->system_wide = true;
>> + if (evlist->needs_map_propagation)
>> + __perf_evlist__propagate_maps(evlist, evsel);
>> + }
>> +}
>
> I think this should be:
>
> void evsel__set_system_wide(struct evsel *evsel)
> {
> if (evsel->system_wide)
> return;
> evsel->system_wide = true;
> if (evsel->evlist->core.needs_map_propagation)
> ...
>
> The API being on evlist makes it look like all evsels are affected.
>
This part of the code is implemented according to Adrian's suggestion.
Refer to:
https://lore.kernel.org/linux-perf-users/206972a3-d44d-1c75-3fbc-426427614543@intel.com/
The logic of both is the same, and either is OK for me.
If really want to change it, please let me know.
Thanks,
Yang
next prev parent reply other threads:[~2023-08-25 5:41 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-21 1:27 [PATCH v6 0/7] perf record: Track sideband events for all CPUs when tracing selected CPUs Yang Jihong
2023-08-21 1:27 ` [PATCH v6 1/7] perf evlist: Add perf_evlist__go_system_wide() helper Yang Jihong
2023-08-25 4:51 ` Ian Rogers
2023-08-25 5:41 ` Yang Jihong [this message]
[not found] ` <CAP-5=fUtCHXDC5zOML4po8k1rQVPo9ybsTA8_AihepP6w8B5Kw@mail.gmail.com>
2023-08-25 6:15 ` Yang Jihong
2023-08-25 6:28 ` Yang Jihong
2023-08-21 1:27 ` [PATCH v6 2/7] perf evlist: Add evlist__findnew_tracking_event() helper Yang Jihong
2023-08-25 4:55 ` Ian Rogers
2023-08-25 5:58 ` Yang Jihong
2023-08-21 1:27 ` [PATCH v6 3/7] perf record: Move setting dummy tracking before record__init_thread_masks() Yang Jihong
2023-08-25 5:10 ` Ian Rogers
2023-08-25 6:05 ` Yang Jihong
2023-08-21 1:27 ` [PATCH v6 4/7] perf record: Track sideband events for all CPUs when tracing selected CPUs Yang Jihong
2023-08-25 5:17 ` Ian Rogers
2023-08-25 6:07 ` Yang Jihong
2023-08-25 6:13 ` Adrian Hunter
2023-08-21 1:27 ` [PATCH v6 5/7] perf test: Update base-record & system-wide-dummy attr expected values for test-record-C0 Yang Jihong
2023-08-25 5:22 ` Ian Rogers
2023-08-25 6:09 ` Yang Jihong
2023-08-21 1:27 ` [PATCH v6 6/7] perf test: Add test case for record sideband events Yang Jihong
2023-08-25 5:28 ` Ian Rogers
2023-08-25 6:12 ` Yang Jihong
2023-08-21 1:27 ` [PATCH v6 7/7] perf test: Add perf_event_attr test for record selected CPUs exclude_user Yang Jihong
2023-08-25 5:25 ` Ian Rogers
2023-08-23 1:17 ` [PATCH v6 0/7] perf record: Track sideband events for all CPUs when tracing selected CPUs Yang Jihong
2023-08-23 11:35 ` Arnaldo Carvalho de Melo
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=db2de7d0-d60d-33f8-3587-c776a3eb8fce@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®