Lines Matching refs:data
67 * osnoise_free_histogram - free runtime data
70 osnoise_free_histogram(struct osnoise_hist_data *data)
75 for (cpu = 0; cpu < data->nr_cpus; cpu++) {
76 if (data->hist[cpu].samples)
77 free(data->hist[cpu].samples);
81 if (data->hist)
82 free(data->hist);
84 free(data);
88 * osnoise_alloc_histogram - alloc runtime data
93 struct osnoise_hist_data *data;
96 data = calloc(1, sizeof(*data));
97 if (!data)
100 data->entries = entries;
101 data->bucket_size = bucket_size;
102 data->nr_cpus = nr_cpus;
104 data->hist = calloc(1, sizeof(*data->hist) * nr_cpus);
105 if (!data->hist)
109 data->hist[cpu].samples = calloc(1, sizeof(*data->hist->samples) * (entries + 1));
110 if (!data->hist[cpu].samples)
116 data->hist[cpu].min_sample = ~0;
118 return data;
121 osnoise_free_histogram(data);
129 struct osnoise_hist_data *data = tool->data;
131 int entries = data->entries;
138 bucket = duration / data->bucket_size;
142 hist = data->hist[cpu].samples;
143 data->hist[cpu].count += count;
144 update_min(&data->hist[cpu].min_sample, &duration);
145 update_sum(&data->hist[cpu].sum_sample, &total_duration);
146 update_max(&data->hist[cpu].max_sample, &duration);
159 struct osnoise_hist_data *data = tool->data;
161 tracefs_hist_pause(tool->trace.inst, data->trace_hist);
162 tracefs_hist_destroy(tool->trace.inst, data->trace_hist);
171 struct osnoise_hist_data *data = tool->data;
182 data->trace_hist = tracefs_hist_alloc(tool->trace.tep, "osnoise", "sample_threshold",
184 if (!data->trace_hist)
187 retval = tracefs_hist_add_key(data->trace_hist, "cpu", 0);
191 retval = tracefs_hist_start(tool->trace.inst, data->trace_hist);
207 struct osnoise_hist_data *data = tool->data;
211 tracefs_hist_pause(tool->trace.inst, data->trace_hist);
256 struct osnoise_hist_data *data = tool->data;
275 for (cpu = 0; cpu < data->nr_cpus; cpu++) {
279 if (!data->hist[cpu].count)
291 * osnoise_print_summary - print the summary of the hist data to the output
296 struct osnoise_hist_data *data)
306 for (cpu = 0; cpu < data->nr_cpus; cpu++) {
310 if (!data->hist[cpu].count)
313 trace_seq_printf(trace->seq, "%9d ", data->hist[cpu].count);
320 for (cpu = 0; cpu < data->nr_cpus; cpu++) {
324 if (!data->hist[cpu].count)
327 trace_seq_printf(trace->seq, "%9llu ", data->hist[cpu].min_sample);
335 for (cpu = 0; cpu < data->nr_cpus; cpu++) {
339 if (!data->hist[cpu].count)
342 if (data->hist[cpu].count)
344 ((double) data->hist[cpu].sum_sample) / data->hist[cpu].count);
353 for (cpu = 0; cpu < data->nr_cpus; cpu++) {
357 if (!data->hist[cpu].count)
360 trace_seq_printf(trace->seq, "%9llu ", data->hist[cpu].max_sample);
369 * osnoise_print_stats - print data for all CPUs
374 struct osnoise_hist_data *data = tool->data;
381 for (bucket = 0; bucket < data->entries; bucket++) {
386 bucket * data->bucket_size);
388 for (cpu = 0; cpu < data->nr_cpus; cpu++) {
392 if (!data->hist[cpu].count)
395 total += data->hist[cpu].samples[bucket];
396 trace_seq_printf(trace->seq, "%9d ", data->hist[cpu].samples[bucket]);
412 for (cpu = 0; cpu < data->nr_cpus; cpu++) {
416 if (!data->hist[cpu].count)
420 data->hist[cpu].samples[data->entries]);
426 osnoise_print_summary(params, trace, data);
504 /* display data in microseconds */
791 tool->data = osnoise_alloc_histogram(nr_cpus, params->entries, params->bucket_size);
792 if (!tool->data)
941 osnoise_free_histogram(tool->data);