• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.5.8/xnu-1228.15.4/osfmk/vm/

Lines Matching refs:pager

113  *	back data (the memory object, field "pager"), etc...
140 * memory objects. The pager memory objects associated
199 memory_object_t pager);
277 memory_object_t pager; /* pager we represent */
287 #define vm_object_hash(pager) \
288 ((((unsigned)pager) >> VM_OBJECT_HASH_SHIFT) % VM_OBJECT_HASH_COUNT)
301 * vm_object_hash_lookup looks up a pager in the hashtable
307 memory_object_t pager,
313 bucket = &vm_object_hashtable[vm_object_hash(pager)];
317 if (entry->pager == pager && !remove_entry)
319 else if (entry->pager == pager) {
333 * pager / cache object association in the hashtable.
342 bucket = &vm_object_hashtable[vm_object_hash(entry->pager)];
349 memory_object_t pager)
354 entry->pager = pager;
472 vm_object_template.pager = MEMORY_OBJECT_NULL;
747 * that reference would remain, inform the pager
751 memory_object_t pager = object->pager;
756 if (pager != MEMORY_OBJECT_NULL) {
762 memory_object_last_unmap(pager);
1144 && (object->pager != NULL || object->shadow_severed)) {
1366 memory_object_t pager;
1387 pager = object->pager;
1388 object->pager = MEMORY_OBJECT_NULL;
1390 if (pager != MEMORY_OBJECT_NULL)
1426 (pager == MEMORY_OBJECT_NULL)) {
1468 * If the pager has not already been released by
1472 if (pager != MEMORY_OBJECT_NULL) {
1474 vm_object_release_pager(pager);
1537 * ceased before we break the association with the pager
1577 * Purpose: Wake up anyone waiting for termination of a pager.
1582 memory_object_t pager)
1592 entry = vm_object_hash_lookup(pager, TRUE);
1598 thread_wakeup((event_t) pager);
1605 * Purpose: Terminate the pager and, upon completion,
1614 memory_object_t pager)
1618 * Terminate the pager.
1621 (void) memory_object_terminate(pager);
1626 vm_object_pager_wakeup(pager);
1629 * Release reference to pager.
1631 memory_object_deallocate(pager);
1652 * Remove the pager association immediately.
1667 * Rip out the pager from the vm_object now...
1671 old_pager = object->pager;
1672 object->pager = MEMORY_OBJECT_NULL;
1679 * through before we nulled out the pager) to subside.
1695 * vnode pager (it is holding a named reference when making
2970 * pager: the memory_object itself, supplied by
2998 * use the "pager" field as the wait event.]
3017 * the pager field and release the memory object references.
3025 * Because the pager field may be cleared spontaneously, it
3032 * During various paging operations, the pager reference found in the
3037 * [Operations that alter the validity of the pager values include the
3046 * pager; if no such object exists, create one,
3047 * and initialize the pager.
3051 memory_object_t pager,
3063 if (pager == MEMORY_OBJECT_NULL)
3076 entry = vm_object_hash_lookup(pager, FALSE);
3086 new_entry = vm_object_hash_entry_alloc(pager);
3109 assert_wait((event_t) pager, THREAD_UNINT);
3158 "vm_o_enter: pager 0x%x obj 0x%x must_init %d\n",
3159 (integer_t)pager, (integer_t)object, must_init, 0, 0);
3189 memory_object_reference(pager);
3191 object->pager = pager;
3204 * Let the pager know we're using it.
3207 (void) memory_object_init(pager,
3243 (integer_t)object, (integer_t)object->pager, internal, 0,0);
3265 memory_object_t pager;
3321 * Create the [internal] pager, and associate it with this object.
3336 (void) memory_object_create(dmm, object->size, &pager);
3341 entry = vm_object_hash_entry_alloc(pager);
3355 if (vm_object_enter(pager, object->size, TRUE, TRUE, FALSE) != object)
3361 memory_object_deallocate(pager);
3374 * Eliminate the pager/object association
3375 * for this pager.
3383 memory_object_t pager;
3385 if ((pager = object->pager) != MEMORY_OBJECT_NULL) {
3388 entry = vm_object_hash_lookup(pager, FALSE);
3465 * The encryption key includes the "pager" and the
3516 assert((!object->pager_created && (object->pager == MEMORY_OBJECT_NULL))
3518 && (backing_object->pager == MEMORY_OBJECT_NULL)));
3520 assert(!object->pager_created && object->pager == MEMORY_OBJECT_NULL);
3523 if (backing_object->pager != MEMORY_OBJECT_NULL) {
3527 * Move the pager from backing_object to object.
3535 object->pager = backing_object->pager;
3536 entry = vm_object_hash_lookup(object->pager, FALSE);
3562 * the pager is invoked for zero fill pages. If analysis shows
3601 * pager left, and no object references within it,
3863 * The parent must not have a pager created for it,
3865 * into the parent that its pager doesn't know about
3870 * to the pager, we can collapse them.
3880 "vm_object_collapse: %x to %x, pager %x, pager_control %x\n",
3882 (integer_t)backing_object->pager,
3938 * If the backing object has a pager but no pagemap,
3956 * If the object has a pager but no pagemap,
4125 * already live in the parent or its pager.
4153 * guaranteed by not having a pager.
4305 * has no pager, and we only create existence info
4462 printf(", pager=0x%x", object->pager);
4513 iprintf("pager=0x%x", object->pager);
4794 * which are backed by the pager identified by the caller, (pager_ops).
4824 if (object->pager &&
4825 (pager_ops == object->pager->mo_pager_ops)) {
4833 * that it is initialized and has only a pager's
4872 memory_object_t pager,
4880 if (pager == MEMORY_OBJECT_NULL)
4884 entry = vm_object_hash_lookup(pager, FALSE);
4891 if ((object = vm_object_enter(pager, size, FALSE, FALSE, TRUE))
5858 __TRANSPOSE_FIELD(pager);
5940 * deallocating a real pager.
5978 * *length == maximum cluster pager can handle
6038 else if (object->pager != MEMORY_OBJECT_NULL)
6039 vnode_pager_get_object_size(object->pager, &object_size);
6041 goto out; /* pager is gone for this object, nothing more to do */
6172 * we know for a fact that the pager can't provide the page
6202 * we know for a fact that the pager can't provide the page