Lines Matching refs:data
93 timerlat_free_histogram(struct timerlat_hist_data *data) in timerlat_free_histogram() argument
98 for (cpu = 0; cpu < data->nr_cpus; cpu++) { in timerlat_free_histogram()
99 if (data->hist[cpu].irq) in timerlat_free_histogram()
100 free(data->hist[cpu].irq); in timerlat_free_histogram()
102 if (data->hist[cpu].thread) in timerlat_free_histogram()
103 free(data->hist[cpu].thread); in timerlat_free_histogram()
105 if (data->hist[cpu].user) in timerlat_free_histogram()
106 free(data->hist[cpu].user); in timerlat_free_histogram()
111 if (data->hist) in timerlat_free_histogram()
112 free(data->hist); in timerlat_free_histogram()
114 free(data); in timerlat_free_histogram()
123 struct timerlat_hist_data *data; in timerlat_alloc_histogram() local
126 data = calloc(1, sizeof(*data)); in timerlat_alloc_histogram()
127 if (!data) in timerlat_alloc_histogram()
130 data->entries = entries; in timerlat_alloc_histogram()
131 data->bucket_size = bucket_size; in timerlat_alloc_histogram()
132 data->nr_cpus = nr_cpus; in timerlat_alloc_histogram()
135 data->hist = calloc(1, sizeof(*data->hist) * nr_cpus); in timerlat_alloc_histogram()
136 if (!data->hist) in timerlat_alloc_histogram()
141 data->hist[cpu].irq = calloc(1, sizeof(*data->hist->irq) * (entries + 1)); in timerlat_alloc_histogram()
142 if (!data->hist[cpu].irq) in timerlat_alloc_histogram()
145 data->hist[cpu].thread = calloc(1, sizeof(*data->hist->thread) * (entries + 1)); in timerlat_alloc_histogram()
146 if (!data->hist[cpu].thread) in timerlat_alloc_histogram()
149 data->hist[cpu].user = calloc(1, sizeof(*data->hist->user) * (entries + 1)); in timerlat_alloc_histogram()
150 if (!data->hist[cpu].user) in timerlat_alloc_histogram()
156 data->hist[cpu].min_irq = ~0; in timerlat_alloc_histogram()
157 data->hist[cpu].min_thread = ~0; in timerlat_alloc_histogram()
158 data->hist[cpu].min_user = ~0; in timerlat_alloc_histogram()
161 return data; in timerlat_alloc_histogram()
164 timerlat_free_histogram(data); in timerlat_alloc_histogram()
177 struct timerlat_hist_data *data = tool->data; in timerlat_hist_update() local
178 int entries = data->entries; in timerlat_hist_update()
185 bucket = latency / data->bucket_size; in timerlat_hist_update()
188 hist = data->hist[cpu].irq; in timerlat_hist_update()
189 data->hist[cpu].irq_count++; in timerlat_hist_update()
190 update_min(&data->hist[cpu].min_irq, &latency); in timerlat_hist_update()
191 update_sum(&data->hist[cpu].sum_irq, &latency); in timerlat_hist_update()
192 update_max(&data->hist[cpu].max_irq, &latency); in timerlat_hist_update()
194 hist = data->hist[cpu].thread; in timerlat_hist_update()
195 data->hist[cpu].thread_count++; in timerlat_hist_update()
196 update_min(&data->hist[cpu].min_thread, &latency); in timerlat_hist_update()
197 update_sum(&data->hist[cpu].sum_thread, &latency); in timerlat_hist_update()
198 update_max(&data->hist[cpu].max_thread, &latency); in timerlat_hist_update()
200 hist = data->hist[cpu].user; in timerlat_hist_update()
201 data->hist[cpu].user_count++; in timerlat_hist_update()
202 update_min(&data->hist[cpu].min_user, &latency); in timerlat_hist_update()
203 update_sum(&data->hist[cpu].sum_user, &latency); in timerlat_hist_update()
204 update_max(&data->hist[cpu].max_user, &latency); in timerlat_hist_update()
218 struct tep_event *event, void *data) in timerlat_hist_handler() argument
220 struct trace_instance *trace = data; in timerlat_hist_handler()
241 struct timerlat_hist_data *data = tool->data; in timerlat_hist_header() local
260 for (cpu = 0; cpu < data->nr_cpus; cpu++) { in timerlat_hist_header()
264 if (!data->hist[cpu].irq_count && !data->hist[cpu].thread_count) in timerlat_hist_header()
304 struct timerlat_hist_data *data) in timerlat_print_summary() argument
314 for (cpu = 0; cpu < data->nr_cpus; cpu++) { in timerlat_print_summary()
318 if (!data->hist[cpu].irq_count && !data->hist[cpu].thread_count) in timerlat_print_summary()
323 data->hist[cpu].irq_count); in timerlat_print_summary()
327 data->hist[cpu].thread_count); in timerlat_print_summary()
331 data->hist[cpu].user_count); in timerlat_print_summary()
338 for (cpu = 0; cpu < data->nr_cpus; cpu++) { in timerlat_print_summary()
342 if (!data->hist[cpu].irq_count && !data->hist[cpu].thread_count) in timerlat_print_summary()
347 data->hist[cpu].irq_count, in timerlat_print_summary()
348 data->hist[cpu].min_irq, in timerlat_print_summary()
353 data->hist[cpu].thread_count, in timerlat_print_summary()
354 data->hist[cpu].min_thread, in timerlat_print_summary()
359 data->hist[cpu].user_count, in timerlat_print_summary()
360 data->hist[cpu].min_user, in timerlat_print_summary()
368 for (cpu = 0; cpu < data->nr_cpus; cpu++) { in timerlat_print_summary()
372 if (!data->hist[cpu].irq_count && !data->hist[cpu].thread_count) in timerlat_print_summary()
377 data->hist[cpu].irq_count, in timerlat_print_summary()
378 data->hist[cpu].sum_irq, in timerlat_print_summary()
383 data->hist[cpu].thread_count, in timerlat_print_summary()
384 data->hist[cpu].sum_thread, in timerlat_print_summary()
389 data->hist[cpu].user_count, in timerlat_print_summary()
390 data->hist[cpu].sum_user, in timerlat_print_summary()
398 for (cpu = 0; cpu < data->nr_cpus; cpu++) { in timerlat_print_summary()
402 if (!data->hist[cpu].irq_count && !data->hist[cpu].thread_count) in timerlat_print_summary()
407 data->hist[cpu].irq_count, in timerlat_print_summary()
408 data->hist[cpu].max_irq, in timerlat_print_summary()
413 data->hist[cpu].thread_count, in timerlat_print_summary()
414 data->hist[cpu].max_thread, in timerlat_print_summary()
419 data->hist[cpu].user_count, in timerlat_print_summary()
420 data->hist[cpu].max_user, in timerlat_print_summary()
431 struct timerlat_hist_data *data) in timerlat_print_stats_all() argument
445 for (cpu = 0; cpu < data->nr_cpus; cpu++) { in timerlat_print_stats_all()
449 if (!data->hist[cpu].irq_count && !data->hist[cpu].thread_count) in timerlat_print_stats_all()
452 cpu_data = &data->hist[cpu]; in timerlat_print_stats_all()
579 struct timerlat_hist_data *data = tool->data; in timerlat_print_stats() local
586 for (bucket = 0; bucket < data->entries; bucket++) { in timerlat_print_stats()
591 bucket * data->bucket_size); in timerlat_print_stats()
593 for (cpu = 0; cpu < data->nr_cpus; cpu++) { in timerlat_print_stats()
597 if (!data->hist[cpu].irq_count && !data->hist[cpu].thread_count) in timerlat_print_stats()
601 total += data->hist[cpu].irq[bucket]; in timerlat_print_stats()
603 data->hist[cpu].irq[bucket]); in timerlat_print_stats()
607 total += data->hist[cpu].thread[bucket]; in timerlat_print_stats()
609 data->hist[cpu].thread[bucket]); in timerlat_print_stats()
613 total += data->hist[cpu].user[bucket]; in timerlat_print_stats()
615 data->hist[cpu].user[bucket]); in timerlat_print_stats()
633 for (cpu = 0; cpu < data->nr_cpus; cpu++) { in timerlat_print_stats()
637 if (!data->hist[cpu].irq_count && !data->hist[cpu].thread_count) in timerlat_print_stats()
642 data->hist[cpu].irq[data->entries]); in timerlat_print_stats()
646 data->hist[cpu].thread[data->entries]); in timerlat_print_stats()
650 data->hist[cpu].user[data->entries]); in timerlat_print_stats()
656 timerlat_print_summary(params, trace, data); in timerlat_print_stats()
657 timerlat_print_stats_all(params, trace, data); in timerlat_print_stats()
1126 tool->data = timerlat_alloc_histogram(nr_cpus, params->entries, params->bucket_size); in timerlat_init_hist()
1127 if (!tool->data) in timerlat_init_hist()
1373 timerlat_free_histogram(tool->data); in timerlat_hist_main()