Lines Matching refs:that
42 and the rationale for some of the design decisions that drove the
45 details - the "what does it do?" - by reading the code. One hopes that the
46 descriptions below add value by provide the answer to "why does it do that?".
63 of pages that are evictable. This can result in a situation where all CPUs are
75 The infrastructure may also be able to handle other conditions that make pages
84 indicate that the page is being managed on the unevictable list.
87 PG_active flag in that it indicates on which LRU list a page resides when
100 can only migrate pages that it can successfully isolate from the LRU
138 reclaim process can be more efficient, dealing only with pages that have a
175 Note that SHM_LOCK is not required to page in the locked pages if they're
187 For address spaces that are so marked after being populated (as SHM regions
215 "cull" such pages that it encounters: that is, it diverts those pages to the
222 shrink_page_list() will cull the page at that point.
228 unevictable state of a page that it places on the unevictable list. If the
241 SYSV SHM. Note that mlock() is only available in CONFIG_MMU=y situations; in
254 of VM_LOCKED VMAs that map the page. This use of the link field for a count
282 (3) mmapping a region in a task that has called mlockall() with the MCL_FUTURE
298 (2) munmap()'d out of the last VM_LOCKED VMA that maps the page, including
312 this is the entire active address space of the task. Note that mlock_fixup()
314 an already VM_LOCKED VMA, or to munlock() a VMA that is not VM_LOCKED is
324 Note that the VMA being mlocked might be mapped with PROT_NONE. In this case,
329 Also note that a page returned by get_user_pages() could be truncated or
347 at that time. If the isolate_lru_page() succeeds, mlock_vma_page() will put
348 back the page - by calling putback_lru_page() - which will notice that the page
377 Note that for all of these special VMAs, mlock_fixup() does not set the
397 passing a flag to indicate that munlock() is being performed.
411 mlocked, munlock_vma_page() updates that zone statistics for the number of
412 mlocked pages. Note, however, that at this point we haven't checked whether
415 We can't call try_to_munlock(), the function that walks the reverse map to
417 try_to_munlock() is a variant of try_to_unmap() and thus requires that the page
432 A page that is being migrated has been isolated from the LRU lists and is held
435 replaced with an entry that refers to the new page. Linux supports migration
439 Note that page migration can race with mlocking or munlocking of the same page.
449 process is released. To ensure that we don't strand pages on the unevictable
469 that a region of memory be mlocked supplying the MAP_LOCKED flag to the mmap()
470 call. Furthermore, any mmap() call or brk() call that expands the heap by a
471 task that has previously called mlockall() with the MCL_FUTURE flag will result
487 and pages allocated into that region.
495 munlock the pages if we're removing the last VM_LOCKED VMA that maps the pages.
501 munlock_vma_pages_all(). The name reflects the observation that one always
503 Because of the VMA filtering when mlocking() regions, only "normal" VMAs that
510 VM_LOCKED VMA that maps the page.
543 SWAP_MLOCK, indicating that the page is unevictable.
552 except that the scan visits all VMAs that map the page's index/page offset
565 try_to_un{map|lock}() must also visit each VMA in that list to determine
567 all VMAs in the non-linear list to ensure that the pages is not/should not
577 page's mapping, for each file mapped page that vmscan tries to unmap. If
594 but will mlock any pages in the non-linear mapping that happen to be
603 returns SWAP_AGAIN, indicating that the page is mapped by a VM_LOCKED
630 recycle the page on the inactive list and hope that it has better luck with the
634 slightly differently. On encountering a VM_LOCKED non-linear VMA that might
639 Note that try_to_munlock()'s reverse map walk must visit every VMA in a page's
640 reverse map to determine that a page is NOT mapped into any VM_LOCKED VMA.
644 large region or tearing down a large address space that has been mlocked via
653 However, shrink_active_list() only sees unevictable pages that made it onto the
654 active/inactive lru lists. Note that these pages do not have PageUnevictable
660 (1) ramfs pages that have been placed on the LRU lists when first allocated.
667 (3) mlocked pages that could not be isolated from the LRU and moved to the
675 shrink_inactive_list() also diverts any unevictable pages that it finds on the
678 shrink_inactive_list() should only see SHM_LOCK'd pages that became SHM_LOCK'd
680 into VM_LOCKED VMAs that munlock_vma_page() couldn't isolate from the LRU to
684 shrink_page_list() again culls obviously unevictable pages that it could