Lines Matching refs:data

141 static int print_common_stats(struct syscall_data *data, FILE *fp)  in print_common_stats()  argument
145 for (int i = 0; i < data->nr_nodes; i++) { in print_common_stats()
146 struct syscall_node *node = &data->nodes[i]; in print_common_stats()
171 struct syscall_data *data; in update_thread_stats() local
174 if (!hashmap__find(hash, map_key->cpu_or_tid, &data)) { in update_thread_stats()
175 data = zalloc(sizeof(*data)); in update_thread_stats()
176 if (data == NULL) in update_thread_stats()
179 data->key = map_key->cpu_or_tid; in update_thread_stats()
180 if (hashmap__add(hash, data->key, data) < 0) { in update_thread_stats()
181 free(data); in update_thread_stats()
187 data->nr_events += map_data->count; in update_thread_stats()
188 data->total_time += map_data->total_time; in update_thread_stats()
190 nodes = reallocarray(data->nodes, data->nr_nodes + 1, sizeof(*nodes)); in update_thread_stats()
194 data->nodes = nodes; in update_thread_stats()
195 nodes = &data->nodes[data->nr_nodes++]; in update_thread_stats()
203 static int print_thread_stat(struct syscall_data *data, FILE *fp) in print_thread_stat() argument
207 qsort(data->nodes, data->nr_nodes, sizeof(*data->nodes), nodecmp); in print_thread_stat()
209 printed += fprintf(fp, " thread (%d), ", (int)data->key); in print_thread_stat()
210 printed += fprintf(fp, "%d events\n\n", data->nr_events); in print_thread_stat()
216 printed += print_common_stats(data, fp); in print_thread_stat()
222 static int print_thread_stats(struct syscall_data **data, int nr_data, FILE *fp) in print_thread_stats() argument
227 printed += print_thread_stat(data[i], fp); in print_thread_stats()
235 struct syscall_data *data; in update_total_stats() local
238 if (!hashmap__find(hash, map_key->nr, &data)) { in update_total_stats()
239 data = zalloc(sizeof(*data)); in update_total_stats()
240 if (data == NULL) in update_total_stats()
243 data->nodes = zalloc(sizeof(*data->nodes)); in update_total_stats()
244 if (data->nodes == NULL) { in update_total_stats()
245 free(data); in update_total_stats()
249 data->nr_nodes = 1; in update_total_stats()
250 data->key = map_key->nr; in update_total_stats()
251 data->nodes->syscall_nr = data->key; in update_total_stats()
253 if (hashmap__add(hash, data->key, data) < 0) { in update_total_stats()
254 free(data->nodes); in update_total_stats()
255 free(data); in update_total_stats()
261 data->nr_events += map_data->count; in update_total_stats()
262 data->total_time += map_data->total_time; in update_total_stats()
265 stat = &data->nodes->stats; in update_total_stats()
280 static int print_total_stats(struct syscall_data **data, int nr_data, FILE *fp) in print_total_stats() argument
286 nr_events += data[i]->nr_events; in print_total_stats()
295 printed += print_common_stats(data[i], fp); in print_total_stats()
304 struct syscall_data *data; in update_cgroup_stats() local
307 if (!hashmap__find(hash, map_key->cgroup, &data)) { in update_cgroup_stats()
308 data = zalloc(sizeof(*data)); in update_cgroup_stats()
309 if (data == NULL) in update_cgroup_stats()
312 data->key = map_key->cgroup; in update_cgroup_stats()
313 if (hashmap__add(hash, data->key, data) < 0) { in update_cgroup_stats()
314 free(data); in update_cgroup_stats()
320 data->nr_events += map_data->count; in update_cgroup_stats()
321 data->total_time += map_data->total_time; in update_cgroup_stats()
323 nodes = reallocarray(data->nodes, data->nr_nodes + 1, sizeof(*nodes)); in update_cgroup_stats()
327 data->nodes = nodes; in update_cgroup_stats()
328 nodes = &data->nodes[data->nr_nodes++]; in update_cgroup_stats()
336 static int print_cgroup_stat(struct syscall_data *data, FILE *fp) in print_cgroup_stat() argument
339 struct cgroup *cgrp = __cgroup__find(&cgroups, data->key); in print_cgroup_stat()
341 qsort(data->nodes, data->nr_nodes, sizeof(*data->nodes), nodecmp); in print_cgroup_stat()
346 printed += fprintf(fp, " cgroup id:%lu,", (unsigned long)data->key); in print_cgroup_stat()
348 printed += fprintf(fp, " %d events\n\n", data->nr_events); in print_cgroup_stat()
354 printed += print_common_stats(data, fp); in print_cgroup_stat()
360 static int print_cgroup_stats(struct syscall_data **data, int nr_data, FILE *fp) in print_cgroup_stats() argument
365 printed += print_cgroup_stat(data[i], fp); in print_cgroup_stats()
374 struct syscall_data **data = NULL; in trace_print_bpf_summary() local
411 data = calloc(nr_data, sizeof(*data)); in trace_print_bpf_summary()
412 if (data == NULL) in trace_print_bpf_summary()
417 data[i++] = entry->pvalue; in trace_print_bpf_summary()
419 qsort(data, nr_data, sizeof(*data), datacmp); in trace_print_bpf_summary()
423 printed += print_thread_stats(data, nr_data, fp); in trace_print_bpf_summary()
426 printed += print_total_stats(data, nr_data, fp); in trace_print_bpf_summary()
429 printed += print_cgroup_stats(data, nr_data, fp); in trace_print_bpf_summary()
435 for (i = 0; i < nr_data && data; i++) { in trace_print_bpf_summary()
436 free(data[i]->nodes); in trace_print_bpf_summary()
437 free(data[i]); in trace_print_bpf_summary()
439 free(data); in trace_print_bpf_summary()