From: Yang Jihong <yangjihong1@huawei.com>
To: Ian Rogers <irogers@google.com>, Adrian Hunter <adrian.hunter@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
"Liang, Kan" <kan.liang@linux.intel.com>,
James Clark <james.clark@arm.com>,
Thomas Richter <tmricht@linux.ibm.com>,
Andi Kleen <ak@linux.intel.com>,
Anshuman Khandual <anshuman.khandual@arm.com>,
LKML <linux-kernel@vger.kernel.org>,
linux-perf-users <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 14:28:52 +0800 [thread overview]
Message-ID: <49d6639e-66ac-16e9-8a54-4b0279f808ce@huawei.com> (raw)
In-Reply-To: <CAP-5=fUtCHXDC5zOML4po8k1rQVPo9ybsTA8_AihepP6w8B5Kw@mail.gmail.com>
Hello,
On 2023/8/25 13:45, Ian Rogers wrote:
>
>
> On Thu, Aug 24, 2023, 10:41 PM Yang Jihong <yangjihong1@huawei.com
> <mailto:yangjihong1@huawei.com>> wrote:
>
> Hello,
>
> On 2023/8/25 12:51, Ian Rogers wrote:
> > On Sun, Aug 20, 2023 at 6:30 PM Yang Jihong
> <yangjihong1@huawei.com <mailto: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
> <mailto:yangjihong1@huawei.com>>
> >> Acked-by: Adrian Hunter <adrian.hunter@intel.com
> <mailto: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/
> <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.
>
>
> Yes, I think the naming isn't correct and the function being on evlist
> is misleading.
Uh, I have a little problem here, too.
Because perf_evlist__go_system_wide() needs to invoke the
__perf_evlist__propagate_maps(), which is a local function and is
located in the evlist.c file in tools/lib/perf/.
So perf_evlist__go_system_wide() can only be located in this file. The
prefixes of all funcstions in this file are "perf_evlist__". Therefore,
it is better to use the original names.
In addition, __perf_evlist__propagate_maps affects the evlist, so it is
not misleading.
Thanks,
Yang
next prev parent reply other threads:[~2023-08-25 6:30 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
[not found] ` <CAP-5=fUtCHXDC5zOML4po8k1rQVPo9ybsTA8_AihepP6w8B5Kw@mail.gmail.com>
2023-08-25 6:15 ` Yang Jihong
2023-08-25 6:28 ` Yang Jihong [this message]
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=49d6639e-66ac-16e9-8a54-4b0279f808ce@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®