Lines Matching refs:unevictable

12 infrastructure and the use of this to manage several types of "unevictable"
27 The Unevictable LRU facility adds an additional LRU list to track unevictable
41 The unevictable list addresses the following classes of unevictable pages:
52 unevictable, either by definition or by circumstance, in the future.
65 called the "unevictable" list and an associated folio flag, PG_unevictable, to
66 indicate that the folio is being managed on the unevictable list.
72 The Unevictable LRU infrastructure maintains unevictable folios as if they were
75 (1) We get to "treat unevictable folios just like we treat other folios in the
80 (2) We want to be able to migrate unevictable folios between nodes for memory
87 The unevictable list does not differentiate between file-backed and
91 The unevictable list benefits from the "arrayification" of the per-node LRU
98 The unevictable LRU facility interacts with the memory control group [aka
102 The memory controller data structure automatically gets a per-node unevictable
105 and from the unevictable list.
108 not attempt to reclaim pages on the unevictable list. This has a couple of
111 (1) Because the pages are "hidden" from reclaim on the unevictable list, the
116 are unevictable, the evictable portion of the working set of the tasks in
133 Mark the address space as being completely unevictable.
142 unevictable.
155 amount of unevictable memory marked by i915 driver is roughly the bounded
164 :ref:`Marking address spaces unevictable <mark_addr_space_unevict>`]
170 any special effort to push any pages in the SHM_LOCK'd area to the unevictable
175 the pages in the region and "rescue" them from the unevictable list if no other
176 condition is keeping them unevictable. If an unevictable region is destroyed,
177 the pages are also "rescued" from the unevictable list in the process of
188 If unevictable folios are culled in the fault path, or moved to the unevictable
191 from the unevictable list. However, there may be situations where we decide,
192 for the sake of expediency, to leave an unevictable folio on one of the regular
196 unevictable list for the memory cgroup and node being scanned.
202 or try_to_unmap(). The folio is culled to the unevictable list when it
205 To "cull" an unevictable folio, vmscan simply puts the folio back on
208 condition which makes the folio unevictable may change once the folio
209 is unlocked, __pagevec_lru_add_fn() will recheck the unevictable state
210 of a folio before placing it on the unevictable list.
216 The unevictable folio list is also useful for mlock(), in addition to ramfs and
254 mlocked pages - pages mapped into a VM_LOCKED VMA - are a class of unevictable
259 A PG_mlocked page will be placed on the unevictable list when it is added to
275 mlocked pages become unlocked and rescued from the unevictable list when:
323 and moves the page to unevictable state ("the unevictable LRU", but with
331 rather than risk stranding a page indefinitely as unevictable, always err with
354 unevictable and are not managed on the LRU lists. __mm_populate() includes
384 and clears the unevictable flag, moving the folio from unevictable state
388 "the unevictable LRU", or it may have been temporarily isolated from it. In
401 of mlocked pages and other unevictable pages. PG_mlocked is cleared from the
404 was unevictable because mlocked, PG_unevictable follows PG_mlocked; but if the
405 page was unevictable for other reasons, PG_unevictable is copied explicitly.
428 is to let unevictable pages be moved. /proc/sys/vm/compact_unevictable_allowed
438 Therefore, we can only make unevictable an entire compound page, not
452 to the unevictable LRU and the rest can be reclaimed.
471 in the newly mapped memory being mlocked. Before the unevictable/mlock
475 To mlock a range of memory under the unevictable/mlock infrastructure,
486 Before the unevictable/mlock changes, mlocking did not mark the pages in any
496 and clears the unevictable flag, moving the folio from unevictable state
500 "the unevictable LRU", or it may have been temporarily isolated from it. In
532 vmscan's shrink_active_list() culls any obviously unevictable pages -
533 i.e. !page_evictable(page) pages - diverting those to the unevictable list.
534 However, shrink_active_list() only sees unevictable pages that made it onto the
536 set - otherwise they would be on the unevictable list and shrink_active_list()
539 Some examples of these unevictable pages on the LRU lists are:
552 unevictable pages found on the inactive lists to the appropriate memory cgroup
553 and node unevictable list.
558 to correct them. Such pages are culled to the unevictable list when released