All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Olsa <jolsa@redhat.com>
To: Mark Rutland <mark.rutland@arm.com>
Cc: linux-kernel@vger.kernel.org, acme@kernel.org,
	adrian.hunter@intel.com, alexander.shishkin@linux.intel.com,
	hekuang@huawei.com, jolsa@kernel.org, kan.liang@intel.com,
	mingo@redhat.com, peterz@infradead.org, wangnan0@huawei.com
Subject: Re: [RFCv2 2/4] perf: util: Add more cpu_map helpers
Date: Mon, 18 Jul 2016 16:32:45 +0200	[thread overview]
Message-ID: <20160718143245.GC4813@krava> (raw)
In-Reply-To: <1468577293-19667-3-git-send-email-mark.rutland@arm.com>

On Fri, Jul 15, 2016 at 11:08:11AM +0100, Mark Rutland wrote:
> In some cases it's necessry to figure out the map-local index of a given
> Linux logical CPU ID. Add a new helper, cpu_map__idx, to acquire this.
> As the logic is largely the same as the existing cpu_map__has, this is
> rewritten in terms of the new helper.
> 
> At the same time, add the inverse operation, cpu_map__cpu, which yields
> the logical CPU id for a map-local index. While this can be performed
> manually, wrapping this in a helper can make code more legible.
> 
> Signed-off-by: Mark Rutland <mark.rutland@arm.com>
> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: Kan Liang <kan.liang@intel.com>
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: linux-kernel@vger.kernel.org

Acked-by: Jiri Olsa <jolsa@kernel.org>

thanks,
jirka

> ---
>  tools/perf/util/cpumap.c | 14 ++++++++++++--
>  tools/perf/util/cpumap.h |  2 ++
>  2 files changed, 14 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/perf/util/cpumap.c b/tools/perf/util/cpumap.c
> index 02d8016..efc88fe 100644
> --- a/tools/perf/util/cpumap.c
> +++ b/tools/perf/util/cpumap.c
> @@ -590,12 +590,22 @@ int cpu__setup_cpunode_map(void)
>  
>  bool cpu_map__has(struct cpu_map *cpus, int cpu)
>  {
> +	return cpu_map__idx(cpus, cpu) != -1;
> +}
> +
> +int cpu_map__idx(struct cpu_map *cpus, int cpu)
> +{
>  	int i;
>  
>  	for (i = 0; i < cpus->nr; ++i) {
>  		if (cpus->map[i] == cpu)
> -			return true;
> +			return i;
>  	}
>  
> -	return false;
> +	return -1;
> +}
> +
> +int cpu_map__cpu(struct cpu_map *cpus, int idx)
> +{
> +	return cpus->map[idx];
>  }
> diff --git a/tools/perf/util/cpumap.h b/tools/perf/util/cpumap.h
> index 1a0a350..46f7642 100644
> --- a/tools/perf/util/cpumap.h
> +++ b/tools/perf/util/cpumap.h
> @@ -67,5 +67,7 @@ int cpu_map__build_map(struct cpu_map *cpus, struct cpu_map **res,
>  		       int (*f)(struct cpu_map *map, int cpu, void *data),
>  		       void *data);
>  
> +int cpu_map__cpu(struct cpu_map *cpus, int idx);
>  bool cpu_map__has(struct cpu_map *cpus, int cpu);
> +int cpu_map__idx(struct cpu_map *cpus, int cpu);
>  #endif /* __PERF_CPUMAP_H */
> -- 
> 1.9.1
> 

  reply	other threads:[~2016-07-18 14:32 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-15 10:08 [RFCv2 0/4] perf tools: play nicely with CPU PMU cpumasks Mark Rutland
2016-07-15 10:08 ` [RFCv2 1/4] perf stat: balance opening and reading events Mark Rutland
2016-07-18 14:32   ` Jiri Olsa
2016-07-19  6:53   ` [tip:perf/core] perf stat: Balance " tip-bot for Mark Rutland
2016-07-15 10:08 ` [RFCv2 2/4] perf: util: Add more cpu_map helpers Mark Rutland
2016-07-18 14:32   ` Jiri Olsa [this message]
2016-07-19  6:53   ` [tip:perf/core] perf cpu_map: Add more helpers tip-bot for Mark Rutland
2016-07-15 10:08 ` [RFCv2 3/4] perf: util: only open events on CPUs an evsel permits Mark Rutland
2016-07-18 14:32   ` Jiri Olsa
2016-07-18 22:46     ` Arnaldo Carvalho de Melo
2016-07-19  6:20       ` Jiri Olsa
2016-07-15 10:08 ` [RFCv2 4/4] perf: util: support sysfs supported_cpumask file Mark Rutland
2016-07-18 14:30   ` Jiri Olsa
2016-07-18 15:00     ` Mark Rutland
2016-07-21  8:10       ` Jiri Olsa
2016-07-21  9:49         ` Mark Rutland
2016-07-18 16:38   ` Suzuki K Poulose
2016-07-18 17:13     ` Mark Rutland

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=20160718143245.GC4813@krava \
    --to=jolsa@redhat.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=hekuang@huawei.com \
    --cc=jolsa@kernel.org \
    --cc=kan.liang@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=wangnan0@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 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.