diff options
Diffstat (limited to 'Documentation/vm/unevictable-lru.txt')
-rw-r--r-- | Documentation/vm/unevictable-lru.txt | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/Documentation/vm/unevictable-lru.txt b/Documentation/vm/unevictable-lru.txt index fa206cccf89f..a68db7692ee8 100644 --- a/Documentation/vm/unevictable-lru.txt +++ b/Documentation/vm/unevictable-lru.txt | |||
@@ -197,12 +197,8 @@ the pages are also "rescued" from the unevictable list in the process of | |||
197 | freeing them. | 197 | freeing them. |
198 | 198 | ||
199 | page_evictable() also checks for mlocked pages by testing an additional page | 199 | page_evictable() also checks for mlocked pages by testing an additional page |
200 | flag, PG_mlocked (as wrapped by PageMlocked()). If the page is NOT mlocked, | 200 | flag, PG_mlocked (as wrapped by PageMlocked()), which is set when a page is |
201 | and a non-NULL VMA is supplied, page_evictable() will check whether the VMA is | 201 | faulted into a VM_LOCKED vma, or found in a vma being VM_LOCKED. |
202 | VM_LOCKED via is_mlocked_vma(). is_mlocked_vma() will SetPageMlocked() and | ||
203 | update the appropriate statistics if the vma is VM_LOCKED. This method allows | ||
204 | efficient "culling" of pages in the fault path that are being faulted in to | ||
205 | VM_LOCKED VMAs. | ||
206 | 202 | ||
207 | 203 | ||
208 | VMSCAN'S HANDLING OF UNEVICTABLE PAGES | 204 | VMSCAN'S HANDLING OF UNEVICTABLE PAGES |
@@ -371,8 +367,8 @@ mlock_fixup() filters several classes of "special" VMAs: | |||
371 | mlock_fixup() will call make_pages_present() in the hugetlbfs VMA range to | 367 | mlock_fixup() will call make_pages_present() in the hugetlbfs VMA range to |
372 | allocate the huge pages and populate the ptes. | 368 | allocate the huge pages and populate the ptes. |
373 | 369 | ||
374 | 3) VMAs with VM_DONTEXPAND or VM_RESERVED are generally userspace mappings of | 370 | 3) VMAs with VM_DONTEXPAND are generally userspace mappings of kernel pages, |
375 | kernel pages, such as the VDSO page, relay channel pages, etc. These pages | 371 | such as the VDSO page, relay channel pages, etc. These pages |
376 | are inherently unevictable and are not managed on the LRU lists. | 372 | are inherently unevictable and are not managed on the LRU lists. |
377 | mlock_fixup() treats these VMAs the same as hugetlbfs VMAs. It calls | 373 | mlock_fixup() treats these VMAs the same as hugetlbfs VMAs. It calls |
378 | make_pages_present() to populate the ptes. | 374 | make_pages_present() to populate the ptes. |
@@ -651,7 +647,7 @@ PAGE RECLAIM IN shrink_*_list() | |||
651 | ------------------------------- | 647 | ------------------------------- |
652 | 648 | ||
653 | shrink_active_list() culls any obviously unevictable pages - i.e. | 649 | shrink_active_list() culls any obviously unevictable pages - i.e. |
654 | !page_evictable(page, NULL) - diverting these to the unevictable list. | 650 | !page_evictable(page) - diverting these to the unevictable list. |
655 | However, shrink_active_list() only sees unevictable pages that made it onto the | 651 | However, shrink_active_list() only sees unevictable pages that made it onto the |
656 | active/inactive lru lists. Note that these pages do not have PageUnevictable | 652 | active/inactive lru lists. Note that these pages do not have PageUnevictable |
657 | set - otherwise they would be on the unevictable list and shrink_active_list | 653 | set - otherwise they would be on the unevictable list and shrink_active_list |