From: Jiri Olsa <jolsa@redhat.com>
To: Andi Kleen <andi@firstfloor.org>
Cc: acme@kernel.org, jolsa@kernel.org, eranian@google.com,
linux-kernel@vger.kernel.org, Andi Kleen <ak@linux.intel.com>
Subject: Re: [PATCH v3 3/7] perf evsel: Add iterator to iterate over events ordered by CPU
Date: Wed, 30 Oct 2019 11:05:47 +0100 [thread overview]
Message-ID: <20191030100547.GD20826@krava> (raw)
In-Reply-To: <20191025181417.10670-4-andi@firstfloor.org>
On Fri, Oct 25, 2019 at 11:14:13AM -0700, Andi Kleen wrote:
> From: Andi Kleen <ak@linux.intel.com>
>
> Add some common code that is needed to iterate over all events
> in CPU order. Used in followon patches
>
> Signed-off-by: Andi Kleen <ak@linux.intel.com>
>
> ---
>
> v2: Add cpumap__for_each_cpu macro to factor out some common code
> ---
> tools/perf/util/cpumap.h | 8 ++++++++
> tools/perf/util/evlist.c | 33 +++++++++++++++++++++++++++++++++
> tools/perf/util/evlist.h | 4 ++++
> tools/perf/util/evsel.h | 1 +
> 4 files changed, 46 insertions(+)
>
> diff --git a/tools/perf/util/cpumap.h b/tools/perf/util/cpumap.h
> index 2553bef1279d..a9b13d72fd29 100644
> --- a/tools/perf/util/cpumap.h
> +++ b/tools/perf/util/cpumap.h
> @@ -60,4 +60,12 @@ int cpu_map__build_map(struct perf_cpu_map *cpus, struct perf_cpu_map **res,
>
> int cpu_map__cpu(struct perf_cpu_map *cpus, int idx);
> bool cpu_map__has(struct perf_cpu_map *cpus, int cpu);
> +
> +#define __cpumap__for_each_cpu(cpus, index, cpu, maxcpu)\
> + for ((index) = 0; \
> + (cpu) = (index) < (maxcpu) ? (cpus)->map[index] : -1, (index) < (maxcpu); \
> + (index)++)
> +#define cpumap__for_each_cpu(cpus, index, cpu) \
> + __cpumap__for_each_cpu(cpus, index, cpu, (cpus)->nr)
there's perf_cpu_map__for_each_cpu macro in libperf
jirka
next prev parent reply other threads:[~2019-10-30 10:05 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-10-25 18:14 Optimize perf stat for large number of events/cpus v3 Andi Kleen
2019-10-25 18:14 ` [PATCH v3 1/7] perf pmu: Use file system cache to optimize sysfs access Andi Kleen
2019-10-28 22:01 ` Jiri Olsa
2019-10-29 2:14 ` Andi Kleen
2019-10-25 18:14 ` [PATCH v3 2/7] perf affinity: Add infrastructure to save/restore affinity Andi Kleen
2019-10-25 18:14 ` [PATCH v3 3/7] perf evsel: Add iterator to iterate over events ordered by CPU Andi Kleen
2019-10-30 10:05 ` Jiri Olsa [this message]
2019-10-30 10:06 ` Jiri Olsa
2019-10-30 15:51 ` Andi Kleen
2019-10-30 18:15 ` Jiri Olsa
2019-10-30 19:03 ` Andi Kleen
2019-11-01 8:38 ` Jiri Olsa
2019-10-25 18:14 ` [PATCH v3 4/7] perf stat: Use affinity for closing file descriptors Andi Kleen
2019-10-30 10:05 ` Jiri Olsa
2019-11-04 23:35 ` Andi Kleen
2019-10-25 18:14 ` [PATCH v3 5/7] perf stat: Use affinity for opening events Andi Kleen
2019-10-30 10:06 ` Jiri Olsa
2019-10-25 18:14 ` [PATCH v3 6/7] perf stat: Use affinity for reading Andi Kleen
2019-10-25 18:14 ` [PATCH v3 7/7] perf stat: Use affinity for enabling/disabling events Andi Kleen
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=20191030100547.GD20826@krava \
--to=jolsa@redhat.com \
--cc=acme@kernel.org \
--cc=ak@linux.intel.com \
--cc=andi@firstfloor.org \
--cc=eranian@google.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.