Lines Matching refs:data
118 static int send_sample_data(int latmus, struct latmon_data *data) in send_sample_data() argument
121 .sum_lat_lo = htonl(data->sum_lat & 0xffffffff), in send_sample_data()
122 .sum_lat_hi = htonl(data->sum_lat >> 32), in send_sample_data()
123 .samples = htonl(data->current_samples), in send_sample_data()
124 .overruns = htonl(data->overruns), in send_sample_data()
125 .min_lat = htonl(data->min_lat), in send_sample_data()
126 .max_lat = htonl(data->max_lat), in send_sample_data()
130 data->min_lat = UINT32_MAX; in send_sample_data()
131 data->current_samples = 0; in send_sample_data()
132 data->overruns = 0; in send_sample_data()
133 data->max_lat = 0; in send_sample_data()
134 data->sum_lat = 0; in send_sample_data()
140 struct latmon_data *data) in send_trailing_data() argument
142 int count = conf->cells * sizeof(data->histogram[0]); in send_trailing_data()
145 if (data->current_samples != 0 && send_sample_data(latmus, data) < 0) { in send_trailing_data()
150 if (send_sample_data(latmus, data) < 0) { in send_trailing_data()
156 data->histogram[cell] = htonl(data->histogram[cell]); in send_trailing_data()
159 ret = send_net_data(latmus, data->histogram, count); in send_trailing_data()
160 memset(data->histogram, 0, count); in send_trailing_data()
171 struct latmon_data *data) in prepare_sample_data() argument
176 data->sum_lat += delta_ns; in prepare_sample_data()
178 if (delta_ns < data->min_lat) { in prepare_sample_data()
179 data->min_lat = delta_ns; in prepare_sample_data()
182 if (delta_ns > data->max_lat) { in prepare_sample_data()
183 data->max_lat = delta_ns; in prepare_sample_data()
187 data->overruns++; in prepare_sample_data()
197 data->histogram[delta_us]++; in prepare_sample_data()
200 return ++data->current_samples < conf->max_samples ? -EAGAIN : 0; in prepare_sample_data()
203 static int enqueue_sample_data(struct latmon_data *data) in enqueue_sample_data() argument
208 if (data->warmed == false) { in enqueue_sample_data()
209 data->warmed = true; in enqueue_sample_data()
214 ret = k_msgq_put(&xfer_msgq, data, K_NO_WAIT); in enqueue_sample_data()
220 data->min_lat = UINT32_MAX; in enqueue_sample_data()
221 data->current_samples = 0; in enqueue_sample_data()
222 data->overruns = 0; in enqueue_sample_data()
223 data->max_lat = 0; in enqueue_sample_data()
224 data->sum_lat = 0; in enqueue_sample_data()
262 struct latmon_data *data, in measure() argument
265 if (data->warmed == true) { in measure()
270 if (data->overruns++ > conf->max_samples / 2) { in measure()
283 struct latmon_data *data = p3; in monitor_thread_func() local
298 memset(data, 0, sizeof(*data)); in monitor_thread_func()
299 data->min_lat = UINT32_MAX; in monitor_thread_func()
300 data->warmed = false; in monitor_thread_func()
303 ret = measure(&delta, msg, data, conf); in monitor_thread_func()
312 if (prepare_sample_data(delta, conf, data) == -EAGAIN) { in monitor_thread_func()
316 ret = enqueue_sample_data(data); in monitor_thread_func()
491 struct latmon_data *data) in start_monitoring() argument
496 memset(data, 0, sizeof(*data)); in start_monitoring()
499 msg, conf, data, MONITOR_THREAD_PRIORITY, 0, K_NO_WAIT); in start_monitoring()
516 struct latmon_data *data = k_malloc(sizeof(*data)); in handle_connection() local
520 if (conf == 0 || data == 0) { in handle_connection()
532 if (send_trailing_data(msg->latmus, conf, data) < 0) { in handle_connection()
538 start_monitoring(msg, conf, data); in handle_connection()
542 k_free(data); in handle_connection()