Lines Matching refs:queues

221 int auxtrace_queues__init(struct auxtrace_queues *queues)
223 queues->nr_queues = AUXTRACE_INIT_NR_QUEUES;
224 queues->queue_array = auxtrace_alloc_queue_array(queues->nr_queues);
225 if (!queues->queue_array)
230 static int auxtrace_queues__grow(struct auxtrace_queues *queues,
233 unsigned int nr_queues = queues->nr_queues;
243 if (nr_queues < queues->nr_queues || nr_queues < new_nr_queues)
250 for (i = 0; i < queues->nr_queues; i++) {
251 list_splice_tail(&queues->queue_array[i].head,
253 queue_array[i].tid = queues->queue_array[i].tid;
254 queue_array[i].cpu = queues->queue_array[i].cpu;
255 queue_array[i].set = queues->queue_array[i].set;
256 queue_array[i].priv = queues->queue_array[i].priv;
259 queues->nr_queues = nr_queues;
260 queues->queue_array = queue_array;
287 static int auxtrace_queues__queue_buffer(struct auxtrace_queues *queues,
294 if (idx >= queues->nr_queues) {
295 err = auxtrace_queues__grow(queues, idx + 1);
300 queue = &queues->queue_array[idx];
308 buffer->buffer_nr = queues->next_buffer_nr++;
312 queues->new_data = true;
313 queues->populated = true;
321 static int auxtrace_queues__split_buffer(struct auxtrace_queues *queues,
336 err = auxtrace_queues__queue_buffer(queues, idx, b);
359 static int auxtrace_queues__add_buffer(struct auxtrace_queues *queues,
384 err = auxtrace_queues__split_buffer(queues, idx, buffer);
389 err = auxtrace_queues__queue_buffer(queues, idx, buffer);
404 int auxtrace_queues__add_event(struct auxtrace_queues *queues,
420 return auxtrace_queues__add_buffer(queues, session, idx, &buffer,
424 static int auxtrace_queues__add_indexed_event(struct auxtrace_queues *queues,
444 err = auxtrace_queues__add_event(queues, session, event,
451 void auxtrace_queues__free(struct auxtrace_queues *queues)
455 for (i = 0; i < queues->nr_queues; i++) {
456 while (!list_empty(&queues->queue_array[i].head)) {
459 buffer = list_entry(queues->queue_array[i].head.next,
466 zfree(&queues->queue_array);
467 queues->nr_queues = 0;
989 static int auxtrace_queues__process_index_entry(struct auxtrace_queues *queues,
993 return auxtrace_queues__add_indexed_event(queues, session,
997 int auxtrace_queues__process_index(struct auxtrace_queues *queues,
1011 err = auxtrace_queues__process_index_entry(queues,
1037 struct auxtrace_queue *auxtrace_queues__sample_queue(struct auxtrace_queues *queues,
1055 if (idx >= queues->nr_queues)
1058 return &queues->queue_array[idx];
1061 int auxtrace_queues__add_sample(struct auxtrace_queues *queues,
1087 return auxtrace_queues__add_buffer(queues, session, idx, &buffer, NULL);