linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 0/6] perf: Replace MAX_NR_CPUS with dynamic alternatives
@ 2019-08-19 20:22 Kyle Meyer
  2019-08-20 10:01 ` Peter Zijlstra
  0 siblings, 1 reply; 2+ messages in thread
From: Kyle Meyer @ 2019-08-19 20:22 UTC (permalink / raw)
  Cc: Kyle Meyer, Peter Zijlstra, Ingo Molnar,
	Arnaldo Carvalho de Melo, Alexander Shishkin, Jiri Olsa,
	Namhyung Kim, linux-kernel, Russ Anderson, Kyle Meyer

The purpose of this patch series is to replace MAX_NR_CPUS with a dynamic value
throughout perf wherever possible using nr_cpus_online, the number of CPUs
online during a record session, and cpu__max_cpu, the possible number of CPUs as
defined in the sysfs. MAX_NR_CPUS is still used by DECLARE_BITMAP at compile
time, however, it's replaced elsewhere.

This patch series was tested using "perf record -a -g" on both an eight socket
(288 CPU) system and a single socket (36 CPU) system. Each system was then
rebooted single socket and eight socket before "perf report" was used to read
the perf.data out file. "perf report --header" was used to confirm that each
perf.data file had information on the correct number of CPUs.

Change since v1:
  Broke PATCH 2/2 into multiple patches.

Changes since v2:
  Replaced env->sibling_cores and env->sibling threads with a local pointer and
  refreshed perf/util/svghelper.

  Kyle Meyer (6):
    perf: Refactor svg_build_topology_map
    perf/util/svghelper: Replace MAX_NR_CPUS with env->nr_cpus_online
    perf/util/stat: Replace MAX_NR_CPUS with cpu__max_cpu
    perf/util/session: Replace MAX_NR_CPUS with nr_cpus_online
    perf/util/machine: Replace MAX_NR_CPUS with nr_cpus_online
    perf/util/header: Replace MAX_NR_CPUS with cpu__max_cpu

 tools/perf/builtin-timechart.c |  5 +----
 tools/perf/util/header.c       |  7 +++---
 tools/perf/util/machine.c      | 12 ++++++-----
 tools/perf/util/session.c      |  6 +++---
 tools/perf/util/stat.c         |  4 ++--
 tools/perf/util/svghelper.c    | 48 +++++++++++++++++++++---------------------
 tools/perf/util/svghelper.h    |  4 +++-
 7 files changed, 44 insertions(+), 42 deletions(-)

Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: linux-kernel@vger.kernel.org
Cc: Russ Anderson <russ.anderson@hpe.com>
Signed-off-by: Kyle Meyer <kyle.meyer@hpe.com>
-- 
2.12.3


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH v3 0/6] perf: Replace MAX_NR_CPUS with dynamic alternatives
  2019-08-19 20:22 [PATCH v3 0/6] perf: Replace MAX_NR_CPUS with dynamic alternatives Kyle Meyer
@ 2019-08-20 10:01 ` Peter Zijlstra
  0 siblings, 0 replies; 2+ messages in thread
From: Peter Zijlstra @ 2019-08-20 10:01 UTC (permalink / raw)
  To: Kyle Meyer
  Cc: Ingo Molnar, Arnaldo Carvalho de Melo, Alexander Shishkin,
	Jiri Olsa, Namhyung Kim, linux-kernel, Russ Anderson, Kyle Meyer

On Mon, Aug 19, 2019 at 03:22:41PM -0500, Kyle Meyer wrote:
> The purpose of this patch series is to replace MAX_NR_CPUS with a dynamic value
> throughout perf wherever possible using nr_cpus_online, the number of CPUs
> online during a record session, and cpu__max_cpu, the possible number of CPUs as
> defined in the sysfs. MAX_NR_CPUS is still used by DECLARE_BITMAP at compile
> time, however, it's replaced elsewhere.
> 
> This patch series was tested using "perf record -a -g" on both an eight socket
> (288 CPU) system and a single socket (36 CPU) system. Each system was then
> rebooted single socket and eight socket before "perf report" was used to read
> the perf.data out file. "perf report --header" was used to confirm that each
> perf.data file had information on the correct number of CPUs.
> 
> Change since v1:
>   Broke PATCH 2/2 into multiple patches.
> 
> Changes since v2:
>   Replaced env->sibling_cores and env->sibling threads with a local pointer and
>   refreshed perf/util/svghelper.
> 
>   Kyle Meyer (6):
>     perf: Refactor svg_build_topology_map
>     perf/util/svghelper: Replace MAX_NR_CPUS with env->nr_cpus_online
>     perf/util/stat: Replace MAX_NR_CPUS with cpu__max_cpu
>     perf/util/session: Replace MAX_NR_CPUS with nr_cpus_online
>     perf/util/machine: Replace MAX_NR_CPUS with nr_cpus_online
>     perf/util/header: Replace MAX_NR_CPUS with cpu__max_cpu

Your series isn't threaed; please play with your git-sendmail (or
whatever other tool you use) arguments.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-08-20 10:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-19 20:22 [PATCH v3 0/6] perf: Replace MAX_NR_CPUS with dynamic alternatives Kyle Meyer
2019-08-20 10:01 ` Peter Zijlstra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).