Messages in this thread Patch in this message | | | From | Kyle Meyer <> | Subject | [PATCH v3 5/6] perf/util/machine: Replace MAX_NR_CPUS with nr_cpus_online | Date | Mon, 19 Aug 2019 15:23:40 -0500 |
| |
nr_cpus_online, the number of CPUs online during a record session, can be used as a dynamic alternative for MAX_NR_CPUS in __machine__synthesize_threads and machine__set_current_tid.
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> --- tools/perf/util/machine.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c index 5734460fc89e..d255634bac74 100644 --- a/tools/perf/util/machine.c +++ b/tools/perf/util/machine.c @@ -2616,7 +2616,9 @@ int __machine__synthesize_threads(struct machine *machine, struct perf_tool *too pid_t machine__get_current_tid(struct machine *machine, int cpu) { - if (cpu < 0 || cpu >= MAX_NR_CPUS || !machine->current_tid) + int nr_cpus_online = machine->env->nr_cpus_online; + + if (cpu < 0 || cpu >= nr_cpus_online || !machine->current_tid) return -1; return machine->current_tid[cpu]; @@ -2626,6 +2628,7 @@ int machine__set_current_tid(struct machine *machine, int cpu, pid_t pid, pid_t tid) { struct thread *thread; + int nr_cpus_online = machine->env->nr_cpus_online; if (cpu < 0) return -EINVAL; @@ -2633,16 +2636,15 @@ int machine__set_current_tid(struct machine *machine, int cpu, pid_t pid, if (!machine->current_tid) { int i; - machine->current_tid = calloc(MAX_NR_CPUS, sizeof(pid_t)); + machine->current_tid = calloc(nr_cpus_online, sizeof(pid_t)); if (!machine->current_tid) return -ENOMEM; - for (i = 0; i < MAX_NR_CPUS; i++) + for (i = 0; i < nr_cpus_online; i++) machine->current_tid[i] = -1; } - if (cpu >= MAX_NR_CPUS) { + if (cpu >= nr_cpus_online) { pr_err("Requested CPU %d too large. ", cpu); - pr_err("Consider raising MAX_NR_CPUS\n"); return -EINVAL; } -- 2.12.3
| |