Lines Matching refs:queues
218 int auxtrace_queues__init(struct auxtrace_queues *queues)
220 queues->nr_queues = AUXTRACE_INIT_NR_QUEUES;
221 queues->queue_array = auxtrace_alloc_queue_array(queues->nr_queues);
222 if (!queues->queue_array)
227 static int auxtrace_queues__grow(struct auxtrace_queues *queues,
230 unsigned int nr_queues = queues->nr_queues;
240 if (nr_queues < queues->nr_queues || nr_queues < new_nr_queues)
247 for (i = 0; i < queues->nr_queues; i++) {
248 list_splice_tail(&queues->queue_array[i].head,
250 queue_array[i].tid = queues->queue_array[i].tid;
251 queue_array[i].cpu = queues->queue_array[i].cpu;
252 queue_array[i].set = queues->queue_array[i].set;
253 queue_array[i].priv = queues->queue_array[i].priv;
256 queues->nr_queues = nr_queues;
257 queues->queue_array = queue_array;
284 static int auxtrace_queues__queue_buffer(struct auxtrace_queues *queues,
291 if (idx >= queues->nr_queues) {
292 err = auxtrace_queues__grow(queues, idx + 1);
297 queue = &queues->queue_array[idx];
305 buffer->buffer_nr = queues->next_buffer_nr++;
309 queues->new_data = true;
310 queues->populated = true;
318 static int auxtrace_queues__split_buffer(struct auxtrace_queues *queues,
333 err = auxtrace_queues__queue_buffer(queues, idx, b);
356 static int auxtrace_queues__add_buffer(struct auxtrace_queues *queues,
381 err = auxtrace_queues__split_buffer(queues, idx, buffer);
386 err = auxtrace_queues__queue_buffer(queues, idx, buffer);
401 int auxtrace_queues__add_event(struct auxtrace_queues *queues,
417 return auxtrace_queues__add_buffer(queues, session, idx, &buffer,
421 static int auxtrace_queues__add_indexed_event(struct auxtrace_queues *queues,
441 err = auxtrace_queues__add_event(queues, session, event,
448 void auxtrace_queues__free(struct auxtrace_queues *queues)
452 for (i = 0; i < queues->nr_queues; i++) {
453 while (!list_empty(&queues->queue_array[i].head)) {
456 buffer = list_entry(queues->queue_array[i].head.next,
463 zfree(&queues->queue_array);
464 queues->nr_queues = 0;
956 static int auxtrace_queues__process_index_entry(struct auxtrace_queues *queues,
960 return auxtrace_queues__add_indexed_event(queues, session,
964 int auxtrace_queues__process_index(struct auxtrace_queues *queues,
978 err = auxtrace_queues__process_index_entry(queues,
1004 struct auxtrace_queue *auxtrace_queues__sample_queue(struct auxtrace_queues *queues,
1022 if (idx >= queues->nr_queues)
1025 return &queues->queue_array[idx];
1028 int auxtrace_queues__add_sample(struct auxtrace_queues *queues,
1054 return auxtrace_queues__add_buffer(queues, session, idx, &buffer, NULL);