Lines Matching full:cpus

21 	RC_STRUCT(perf_cpu_map) *cpus = malloc(sizeof(*cpus) + sizeof(struct perf_cpu) * nr_cpus);  in perf_cpu_map__alloc()
24 if (ADD_RC_CHK(result, cpus)) { in perf_cpu_map__alloc()
25 cpus->nr = nr_cpus; in perf_cpu_map__alloc()
26 refcount_set(&cpus->refcnt, 1); in perf_cpu_map__alloc()
33 struct perf_cpu_map *cpus = perf_cpu_map__alloc(1); in perf_cpu_map__new_any_cpu() local
35 if (cpus) in perf_cpu_map__new_any_cpu()
36 RC_CHK_ACCESS(cpus)->map[0].cpu = -1; in perf_cpu_map__new_any_cpu()
38 return cpus; in perf_cpu_map__new_any_cpu()
72 struct perf_cpu_map *cpus; in cpu_map__new_sysconf() local
81 …pr_warning("Number of online CPUs (%d) differs from the number configured (%d) the CPU map will on… in cpu_map__new_sysconf()
85 cpus = perf_cpu_map__alloc(nr_cpus); in cpu_map__new_sysconf()
86 if (cpus != NULL) { in cpu_map__new_sysconf()
90 RC_CHK_ACCESS(cpus)->map[i].cpu = i; in cpu_map__new_sysconf()
93 return cpus; in cpu_map__new_sysconf()
98 struct perf_cpu_map *cpus = NULL; in cpu_map__new_sysfs_online() local
103 cpus = perf_cpu_map__read(onlnf); in cpu_map__new_sysfs_online()
106 return cpus; in cpu_map__new_sysfs_online()
111 struct perf_cpu_map *cpus = cpu_map__new_sysfs_online(); in perf_cpu_map__new_online_cpus() local
113 if (cpus) in perf_cpu_map__new_online_cpus()
114 return cpus; in perf_cpu_map__new_online_cpus()
127 static struct perf_cpu __perf_cpu_map__cpu(const struct perf_cpu_map *cpus, int idx) in __perf_cpu_map__cpu() argument
129 return RC_CHK_ACCESS(cpus)->map[idx]; in __perf_cpu_map__cpu()
135 struct perf_cpu_map *cpus = perf_cpu_map__alloc(nr_cpus); in cpu_map__trim_new() local
138 if (cpus != NULL) { in cpu_map__trim_new()
139 memcpy(RC_CHK_ACCESS(cpus)->map, tmp_cpus, payload_size); in cpu_map__trim_new()
140 qsort(RC_CHK_ACCESS(cpus)->map, nr_cpus, sizeof(struct perf_cpu), cmp_cpu); in cpu_map__trim_new()
145 __perf_cpu_map__cpu(cpus, i).cpu != in cpu_map__trim_new()
146 __perf_cpu_map__cpu(cpus, i - 1).cpu) { in cpu_map__trim_new()
147 RC_CHK_ACCESS(cpus)->map[j++].cpu = in cpu_map__trim_new()
148 __perf_cpu_map__cpu(cpus, i).cpu; in cpu_map__trim_new()
151 perf_cpu_map__set_nr(cpus, j); in cpu_map__trim_new()
154 return cpus; in cpu_map__trim_new()
159 struct perf_cpu_map *cpus = NULL; in perf_cpu_map__read() local
175 WARN_ONCE(new_max >= MAX_NR_CPUS, "Perf can support %d CPUs. " in perf_cpu_map__read()
207 cpus = cpu_map__trim_new(nr_cpus, tmp_cpus); in perf_cpu_map__read()
210 return cpus; in perf_cpu_map__read()
215 struct perf_cpu_map *cpus = NULL; in perf_cpu_map__new() local
254 WARN_ONCE(end_cpu >= MAX_NR_CPUS, "Perf can support %d CPUs. " in perf_cpu_map__new()
279 cpus = cpu_map__trim_new(nr_cpus, tmp_cpus); in perf_cpu_map__new()
281 pr_warning("Unexpected characters at end of cpu list ('%s'), using online CPUs.", in perf_cpu_map__new()
283 cpus = perf_cpu_map__new_online_cpus(); in perf_cpu_map__new()
285 cpus = perf_cpu_map__new_any_cpu(); in perf_cpu_map__new()
289 return cpus; in perf_cpu_map__new()
292 static int __perf_cpu_map__nr(const struct perf_cpu_map *cpus) in __perf_cpu_map__nr() argument
294 return RC_CHK_ACCESS(cpus)->nr; in __perf_cpu_map__nr()
297 struct perf_cpu perf_cpu_map__cpu(const struct perf_cpu_map *cpus, int idx) in perf_cpu_map__cpu() argument
303 if (cpus && idx < __perf_cpu_map__nr(cpus)) in perf_cpu_map__cpu()
304 return __perf_cpu_map__cpu(cpus, idx); in perf_cpu_map__cpu()
309 int perf_cpu_map__nr(const struct perf_cpu_map *cpus) in perf_cpu_map__nr() argument
311 return cpus ? __perf_cpu_map__nr(cpus) : 1; in perf_cpu_map__nr()
319 int perf_cpu_map__idx(const struct perf_cpu_map *cpus, struct perf_cpu cpu) in perf_cpu_map__idx() argument
323 if (!cpus) in perf_cpu_map__idx()
327 high = __perf_cpu_map__nr(cpus); in perf_cpu_map__idx()
330 struct perf_cpu cpu_at_idx = __perf_cpu_map__cpu(cpus, idx); in perf_cpu_map__idx()
344 bool perf_cpu_map__has(const struct perf_cpu_map *cpus, struct perf_cpu cpu) in perf_cpu_map__has() argument
346 return perf_cpu_map__idx(cpus, cpu) != -1; in perf_cpu_map__has()