49 unsigned int howmany);
51 lewi_request_t *requests,
unsigned int *nreqs,
unsigned int maxreqs);
76 unsigned int howmany,
const cpu_set_t *allowed);
98typedef enum queue_allocator_e {
245 void* (*next)(
void*);
void queue_proc_reqs_remove(queue_proc_reqs_t *queue, pid_t pid)
Definition: queues.c:208
queue_allocator_t
Definition: queues.h:98
@ QUEUE_ALLOC_OVERWRITE
Definition: queues.h:100
@ QUEUE_ALLOC_REALLOC
Definition: queues.h:101
@ QUEUE_ALLOC_FIXED
Definition: queues.h:99
unsigned int queue_pids_size(const queue_pids_t *queue)
Definition: queues.c:318
void * queue__push_tail(queue_t *queue, const void *new)
Definition: queues.c:570
void queue_lewi_reqs_init(queue_lewi_reqs_t *queue)
Definition: queues.c:35
@ QUEUE_PROC_REQS_SIZE
Definition: queues.h:56
void queue_proc_reqs_pop(queue_proc_reqs_t *queue, process_request_t *request)
Definition: queues.c:259
void queue_iter__foreach(void *iter, void(*fn)(void *, void *), void *args)
Definition: queues.c:594
void queue_pids_pop(queue_pids_t *queue, pid_t *pid)
Definition: queues.c:348
@ QUEUE_LEWI_REQS_SIZE
Definition: queues.h:33
unsigned int queue_lewi_reqs_pop_ncpus(queue_lewi_reqs_t *queue, unsigned int ncpus, lewi_request_t *requests, unsigned int *nreqs, unsigned int maxreqs)
Definition: queues.c:126
int queue__take_tail(queue_t *queue, void *value)
Definition: queues.c:448
process_request_t * queue_proc_reqs_front(queue_proc_reqs_t *queue)
Definition: queues.c:199
unsigned int queue_lewi_reqs_size(const queue_lewi_reqs_t *queue)
Definition: queues.c:39
unsigned int queue_proc_reqs_size(const queue_proc_reqs_t *queue)
Definition: queues.c:193
@ QUEUE_PIDS_SIZE
Definition: queues.h:82
unsigned int queue__get_capacity(const queue_t *queue)
Definition: queues.c:412
void queue_proc_reqs_get(queue_proc_reqs_t *queue, pid_t *pid, int cpuid)
Definition: queues.c:278
void queue__destroy(queue_t *queue)
Definition: queues.c:401
unsigned int queue_lewi_reqs_get(queue_lewi_reqs_t *queue, pid_t pid)
Definition: queues.c:173
void queue_pids_init(queue_pids_t *queue)
Definition: queues.c:314
int queue_lewi_reqs_push(queue_lewi_reqs_t *queue, pid_t pid, unsigned int howmany)
Definition: queues.c:71
int queue__peek_tail(queue_t *queue, void **value_ptr)
Definition: queues.c:484
unsigned int queue_lewi_reqs_remove(queue_lewi_reqs_t *queue, pid_t pid)
Definition: queues.c:44
void * queue_iter__get_nth(void *iter, unsigned int n)
Definition: queues.c:602
int queue_proc_reqs_push(queue_proc_reqs_t *queue, pid_t pid, unsigned int howmany, const cpu_set_t *allowed)
Definition: queues.c:225
int queue__take_head(queue_t *queue, void *value)
Definition: queues.c:428
void queue_pids_remove(queue_pids_t *queue, pid_t pid)
Definition: queues.c:324
int queue_pids_push(queue_pids_t *queue, pid_t pid)
Definition: queues.c:338
queue_iter_head2tail_t queue__into_head2tail_iter(queue_t *queue)
Definition: queues.c:639
void * queue__push_head(queue_t *queue, const void *new)
Definition: queues.c:550
unsigned int queue__get_size(const queue_t *queue)
Definition: queues.c:408
queue_t * queue__init(size_t element_size, unsigned int capacity, void *ptr, queue_allocator_t allocator)
Definition: queues.c:375
process_request_t * queue_proc_reqs_back(queue_proc_reqs_t *queue)
Definition: queues.c:203
void queue_proc_reqs_init(queue_proc_reqs_t *queue)
Definition: queues.c:189
int queue__peek_head(queue_t *queue, void **value_ptr)
Definition: queues.c:468
bool queue__is_at_capacity(const queue_t *queue)
Definition: queues.c:420
bool queue__is_empty(const queue_t *queue)
Definition: queues.c:416
unsigned int howmany
Definition: queues.h:37
pid_t pid
Definition: queues.h:36
cpu_set_t allowed
Definition: queues.h:61
unsigned int howmany
Definition: queues.h:60
pid_t pid
Definition: queues.h:59
bool done
Definition: queues.h:247
unsigned int curr
Definition: queues.h:248
queue_t * queue
Definition: queues.h:246
unsigned int tail
Definition: queues.h:249
unsigned int head
Definition: queues.h:42
unsigned int head
Definition: queues.h:86
unsigned int tail
Definition: queues.h:87
unsigned int head
Definition: queues.h:66
unsigned int tail
Definition: queues.h:67
unsigned int capacity
Definition: queues.c:369
size_t element_size
Definition: queues.c:366
void * queue
Definition: queues.c:361
queue_allocator_t allocator
Definition: queues.c:364