Lines Matching refs:nr_cpus
14 void perf_cpu_map__set_nr(struct perf_cpu_map *map, int nr_cpus)
16 RC_CHK_ACCESS(map)->nr = nr_cpus;
19 struct perf_cpu_map *perf_cpu_map__alloc(int nr_cpus)
21 RC_STRUCT(perf_cpu_map) *cpus = malloc(sizeof(*cpus) + sizeof(struct perf_cpu) * nr_cpus);
25 cpus->nr = nr_cpus;
73 int nr_cpus, nr_cpus_conf;
75 nr_cpus = sysconf(_SC_NPROCESSORS_ONLN);
76 if (nr_cpus < 0)
80 if (nr_cpus != nr_cpus_conf) {
82 nr_cpus, nr_cpus_conf, nr_cpus);
85 cpus = perf_cpu_map__alloc(nr_cpus);
89 for (i = 0; i < nr_cpus; ++i)
132 static struct perf_cpu_map *cpu_map__trim_new(int nr_cpus, const struct perf_cpu *tmp_cpus)
134 size_t payload_size = nr_cpus * sizeof(struct perf_cpu);
135 struct perf_cpu_map *cpus = perf_cpu_map__alloc(nr_cpus);
140 qsort(RC_CHK_ACCESS(cpus)->map, nr_cpus, sizeof(struct perf_cpu), cmp_cpu);
143 for (i = 0; i < nr_cpus; i++) {
152 assert(j <= nr_cpus);
160 int nr_cpus = 0;
173 int new_max = nr_cpus + cpu - prev - 1;
187 tmp_cpus[nr_cpus++].cpu = prev;
189 if (nr_cpus == max_entries) {
197 tmp_cpus[nr_cpus++].cpu = cpu;
206 if (nr_cpus > 0)
207 cpus = cpu_map__trim_new(nr_cpus, tmp_cpus);
218 int i, nr_cpus = 0;
259 for (i = 0; i < nr_cpus; i++)
263 if (nr_cpus == max_entries) {
270 tmp_cpus[nr_cpus++].cpu = (int)start_cpu;
278 if (nr_cpus > 0)
279 cpus = cpu_map__trim_new(nr_cpus, tmp_cpus);