Lines Matching defs:queue
81 #include <kern/queue.h>
233 * are kept in a queue (vm_object_cached_list).
235 * When an object from this queue is referenced again,
237 * it must be removed from the queue. That is, the
238 * queue contains *only* objects with zero references.
241 * queue in order to reclaim storage. The current policy
892 * Enter the object onto the queue of
899 "vm_o_deallocate: adding %x to cache, queue = (%x, %x)\n",
1402 /* remove from purgeable queue if it's on */
1404 purgeable_q_t queue = vm_purgeable_object_remove(object);
1405 assert(queue);
1407 /* Must take page lock for this - using it to protect token queue */
1409 vm_purgeable_token_delete_first(queue);
1411 assert(queue->debug_count_objects>=0);
1434 * hogging the page queue lock too long
1461 panic("vm_object_reap: queue just emptied isn't");
5154 * putting them on the free queue without writing them to backing store, etc.
5157 * skip referenced/dirty pages, pages on the active queue, etc. We're more
5209 * Flush our queue of pages to free.
5284 /* ... and put it on our queue of pages to free */
5290 /* flush our queue of pages to free */
5297 /* flush our local queue of pages to free one last time */
5430 assert(object->objq.next != NULL && object->objq.prev != NULL); /* object should be on a queue */
5431 purgeable_q_t queue = vm_purgeable_object_remove(object);
5432 assert(queue);
5434 vm_purgeable_token_delete_first(queue);
5435 assert(queue->debug_count_objects>=0);
5446 purgeable_q_t queue;
5448 /* find the correct queue */
5450 queue = &purgeable_queues[PURGEABLE_Q_TYPE_OBSOLETE];
5453 queue = &purgeable_queues[PURGEABLE_Q_TYPE_FIFO];
5455 queue = &purgeable_queues[PURGEABLE_Q_TYPE_LIFO];
5463 kern_return_t result = vm_purgeable_token_add(queue);
5474 /* object should not be on a queue */
5480 * token queue. So moving priorities will not make pages stay around longer.
5486 assert(object->objq.next != NULL && object->objq.prev != NULL); /* object should be on a queue */
5491 if (old_queue != queue) {
5494 /* Changing queue. Have to move token. */
5497 result = vm_purgeable_token_add(queue);
5503 vm_purgeable_object_add(object, queue, (*state&VM_VOLATILE_GROUP_MASK)>>VM_VOLATILE_GROUP_SHIFT );
5505 assert(queue->debug_count_objects>=0);
5515 assert(object->objq.next != NULL && object->objq.prev != NULL); /* object should be on a queue */