Lines Matching refs:queue

100 camq_free(struct camq *queue)  in camq_free()  argument
102 if (queue != NULL) { in camq_free()
103 camq_fini(queue); in camq_free()
104 free(queue, M_CAMQ); in camq_free()
109 camq_fini(struct camq *queue) in camq_fini() argument
111 if (queue->queue_array != NULL) { in camq_fini()
116 queue->queue_array++; in camq_fini()
117 free(queue->queue_array, M_CAMQ); in camq_fini()
122 camq_resize(struct camq *queue, int new_size) in camq_resize() argument
126 KASSERT(new_size >= queue->entries, ("camq_resize: " in camq_resize()
128 new_size, queue->entries)); in camq_resize()
140 if (queue->queue_array != NULL) { in camq_resize()
141 queue->queue_array++; in camq_resize()
142 bcopy(queue->queue_array, new_array, in camq_resize()
143 queue->entries * sizeof(cam_pinfo *)); in camq_resize()
144 free(queue->queue_array, M_CAMQ); in camq_resize()
146 queue->queue_array = new_array-1; in camq_resize()
147 queue->array_size = new_size; in camq_resize()
157 camq_insert(struct camq *queue, cam_pinfo *new_entry) in camq_insert() argument
160 KASSERT(queue->entries < queue->array_size, in camq_insert()
162 queue->entries, queue->array_size)); in camq_insert()
163 queue->entries++; in camq_insert()
164 queue->queue_array[queue->entries] = new_entry; in camq_insert()
165 new_entry->index = queue->entries; in camq_insert()
166 if (queue->entries != 0) in camq_insert()
167 heap_up(queue->queue_array, queue->entries); in camq_insert()
177 camq_remove(struct camq *queue, int index) in camq_remove() argument
181 if (index <= 0 || index > queue->entries) in camq_remove()
183 "from queue %p of size %d", __func__, index, queue, in camq_remove()
184 queue->entries); in camq_remove()
186 removed_entry = queue->queue_array[index]; in camq_remove()
187 if (queue->entries != index) { in camq_remove()
188 queue->queue_array[index] = queue->queue_array[queue->entries]; in camq_remove()
189 queue->queue_array[index]->index = index; in camq_remove()
190 heap_down(queue->queue_array, index, queue->entries - 1); in camq_remove()
193 queue->entries--; in camq_remove()
204 camq_change_priority(struct camq *queue, int index, u_int32_t new_priority) in camq_change_priority() argument
206 if (new_priority > queue->queue_array[index]->priority) { in camq_change_priority()
207 queue->queue_array[index]->priority = new_priority; in camq_change_priority()
208 heap_down(queue->queue_array, index, queue->entries); in camq_change_priority()
211 queue->queue_array[index]->priority = new_priority; in camq_change_priority()
212 heap_up(queue->queue_array, index); in camq_change_priority()
301 if (new_size > ccbq->queue.array_size) in cam_ccbq_resize()
302 return (camq_resize(&ccbq->queue, new_size)); in cam_ccbq_resize()
311 if (camq_init(&ccbq->queue, in cam_ccbq_init()
323 camq_fini(&ccbq->queue); in cam_ccbq_fini()