Lines Matching refs:pages
116 #ifndef VM_PAGEOUT_BURST_ACTIVE_THROTTLE /* maximum iterations of the active queue to move pages to inactive */
129 #define VM_PAGEOUT_DEADLOCK_RELIEF 100 /* number of pages to move to break deadlock */
133 #define VM_PAGEOUT_INACTIVE_RELIEF 50 /* minimum number of pages to move to the inactive q */
167 * needs to be large enough to give pages on it a chance to be
169 * of active+inactive pages that should be inactive.
213 * only vm-privileged threads can allocate pages. vm-privilege
216 * operation by dipping into the reserved pool of pages.
225 * When we dequeue pages from the inactive list, they are
228 * processors are referencing pages faster than we can turn off
248 queue_head_t pgo_pending; /* laundry pages to be processed by pager's iothread */
249 unsigned int pgo_laundry; /* current count of laundry pages on queue or in flight */
310 * how many pages it looks at and what happens to those pages.
360 boolean_t vm_pages_encrypted = FALSE; /* are there encrypted pages ? */
425 * freeing pages in the original object.
473 * Handle the "target" page(s). These pages are to be freed if
474 * successfully cleaned. Target pages are always busy, and are
475 * wired exactly once. The initial target pages are not mapped,
477 * pages may have been modified between the selection as an
517 * Handle the "adjacent" pages. These pages were cleaned in
536 /* new pages. CLEAN_IN_PLACE does actually write */
537 /* out the pages but handling outside of this code */
651 * pages into a copy-object when they are modified in the
755 * which will page it out and attempt to clean adjacent pages
819 * A page is back from laundry. See if there are some pages waiting to
911 * Calculate the max number of referenced pages on the inactive
921 * We want to gradually dribble pages from the active queue
923 * very small, and then suddenly dump many pages into it,
924 * those pages won't get a sufficient chance to be referenced
927 * We must limit the rate at which we send pages to the pagers.
933 * of pages outstanding to the default pager. A similar
935 * external pagers don't have to deallocate the pages sent them,
936 * and because we might have to send pages to external pagers
941 * clean pages. They probably aren't running, because they
942 * aren't vm-privileged. If we kept sending dirty pages to them,
954 * victimized pages between the normal and zero-filled inactive
956 * is flooding memory with zf pages, we begin to hunt them down.
964 /* zf_ratio is the number of zf pages we victimize per normal page */
1016 * Move pages from active to inactive.
1045 * the queue... clumps of pages associated with the same
1180 * XXX: if no active pages can be reclaimed, pageout scan can be stuck trying
1220 * try to pull pages from the aging bins
1259 * 1) No inactive pages - nothing to do.
1261 * 3) Loop control - no acceptable pages found on the inactive queue
1304 * allowable time... we need to move some clean pages or dirty
1305 * pages belonging to the external pagers if they aren't throttled
1307 * blocked waiting for pages... we'll move one page for each of
1309 * moving this number of pages, we'll re-enter the FSC_DELAYED state
1313 * stop moving pages and allow the system to run to see what
1408 * the most eligible pages are ones that were throttled because the
1418 * The second most eligible pages are ones we paged in speculatively,
1478 * the queue... clumps of pages associated with the same
1500 * on there being enough pages from other
1561 * force us to dump any collected free pages
1575 * Paging out pages of external objects which
1579 * if such pages are finally chosen. The remaining assumption
1580 * is that there will finally be enough available pages in the
1587 * there will be enough other inactive pages to
1759 * (Fictitious pages are either busy or absent.)
1777 * processors to be touching pages faster than we
1925 * reset our count of pages that have been reclaimed
1994 int pages)
1998 vm_page_free_reserved += pages;
2549 * Depending on the nature of the request, the pages
2551 * A page list structure, listing the physical pages
2559 * target range unless it is know that the pages are not
2563 * return the mapped physical pages, where a
2567 * possible copies of the page. Leave pages busy
2570 * pages is done, the dirty bit will be set for each one.
2573 * all mapped pages. Where a page does not exist
2574 * map a zero filled one. Leave pages busy in
2686 * We'll actually encrypt the pages later,
2688 * selected which pages need to go to swap.
2713 * The caller is gathering these pages and
2716 * private copies of these pages before we let
2756 * if this object contains the majority of the pages resident
2758 * worked on contain the majority of the pages), we could
2760 * to find pages to move to the free queue, since it has to
2814 * we're only asking for DIRTY pages to be returned
2922 * all the pages we will page out that
3031 * original contents of the remaining pages
3034 * pages only. The previous pages are "busy"
3037 * upcoming changes for those previous pages,
3042 * to see both the *before* and *after* pages.
3075 * skip over pages already present in the cache
3138 * we don't want to stall waiting for pages to come onto the free list
3139 * while we're already holding absent pages in this UPL
3148 * no pages available... wait
3163 * if this object contains the majority of the pages resident
3165 * worked on contain the majority of the pages), we could
3167 * to find pages to move to the free queue, since it has to
3193 * operation... mark the pages as clustered
3281 * the pages that are dirty before
3284 * contents of all pages marked dirty
3307 * pages that are 'consumed' will
3357 * if this object contains the majority of the pages resident
3359 * worked on contain the majority of the pages), we could
3361 * to find pages to move to the free queue, since it has to
3459 * Depending on the nature of the request, the pages
3817 * VM pages (with different pagers and paging_offsets)
3972 * We used this UPL to block access to the pages by marking
3974 * access to these pages again.
4003 * if this object contains the majority of the pages resident
4005 * worked on contain the majority of the pages), we could
4007 * to find pages to move to the free queue, since it has to
4025 * us if the pages are valid or not. Let the pages be
4114 * We blocked access to the pages in this UPL.
4317 * We blocked access to the pages in this URL.
4339 * if this object contains the majority of the pages resident
4341 * worked on contain the majority of the pages), we could
4343 * to find pages to move to the free queue, since it has to
4476 * if this object contains the majority of the pages resident
4478 * worked on contain the majority of the pages), we could
4480 * to find pages to move to the free queue, since it has to
4529 * be passed back to the pages customer
4610 * if this object contains the majority of the pages resident
4612 * worked on contain the majority of the pages), we could
4614 * to find pages to move to the free queue, since it has to
4764 * here. We won't encrypt the pages.
4862 * The user requested that access to the pages in this URL
4985 * by substituting pages from a pool of low address
4986 * memory for any pages we find above the 4G mark
5051 * of all these pages before leaving this routine.
5113 * We've marked all the pages "busy" so that future
5115 * Now remove the mapping for these pages, so that they
5131 panic("vm_object_iopl_request: Wired pages missing. \n");
5182 * for the objects: pager, resident pages, etc... We can't do
5198 * object holding the pages that the UPL refers to...
5238 * pages it gathers for pageout be encrypted, via the UPL interfaces,
5244 * clean-in-place mechanisms, which allow us to send some extra pages to
5247 * data, so we have to actually remove the encrypted pages from the page
5259 * We need to map the physical pages in the kernel, so that we
5317 * Maps part of a VM object's pages in the kernel
5477 * Enter the mapped pages in the page table now.
5528 * Unmaps part of a VM object's pages from the kernel
5931 * the "dirty" pages.
5979 * Encrypts all the pages in the UPL, within the specified range.
6007 * Find the VM object that contains the actual pages.
6064 * pages from "clean-in-place" to "clean-and-free",
6065 * if it's interested in the same pages we selected
6275 iprintf("pages:\n");