diff options
Diffstat (limited to 'Documentation/vm')
-rw-r--r-- | Documentation/vm/cleancache.txt | 2 | ||||
-rw-r--r-- | Documentation/vm/page-types.c | 2 | ||||
-rw-r--r-- | Documentation/vm/pagemap.txt | 4 | ||||
-rw-r--r-- | Documentation/vm/unevictable-lru.txt | 8 |
4 files changed, 11 insertions, 5 deletions
diff --git a/Documentation/vm/cleancache.txt b/Documentation/vm/cleancache.txt index f726717ace6b..142fbb0f325a 100644 --- a/Documentation/vm/cleancache.txt +++ b/Documentation/vm/cleancache.txt | |||
@@ -93,7 +93,7 @@ failed_gets - number of gets that failed | |||
93 | puts - number of puts attempted (all "succeed") | 93 | puts - number of puts attempted (all "succeed") |
94 | invalidates - number of invalidates attempted | 94 | invalidates - number of invalidates attempted |
95 | 95 | ||
96 | A backend implementatation may provide additional metrics. | 96 | A backend implementation may provide additional metrics. |
97 | 97 | ||
98 | FAQ | 98 | FAQ |
99 | 99 | ||
diff --git a/Documentation/vm/page-types.c b/Documentation/vm/page-types.c index 7445caa26d05..0b13f02d4059 100644 --- a/Documentation/vm/page-types.c +++ b/Documentation/vm/page-types.c | |||
@@ -98,6 +98,7 @@ | |||
98 | #define KPF_HWPOISON 19 | 98 | #define KPF_HWPOISON 19 |
99 | #define KPF_NOPAGE 20 | 99 | #define KPF_NOPAGE 20 |
100 | #define KPF_KSM 21 | 100 | #define KPF_KSM 21 |
101 | #define KPF_THP 22 | ||
101 | 102 | ||
102 | /* [32-] kernel hacking assistances */ | 103 | /* [32-] kernel hacking assistances */ |
103 | #define KPF_RESERVED 32 | 104 | #define KPF_RESERVED 32 |
@@ -147,6 +148,7 @@ static const char *page_flag_names[] = { | |||
147 | [KPF_HWPOISON] = "X:hwpoison", | 148 | [KPF_HWPOISON] = "X:hwpoison", |
148 | [KPF_NOPAGE] = "n:nopage", | 149 | [KPF_NOPAGE] = "n:nopage", |
149 | [KPF_KSM] = "x:ksm", | 150 | [KPF_KSM] = "x:ksm", |
151 | [KPF_THP] = "t:thp", | ||
150 | 152 | ||
151 | [KPF_RESERVED] = "r:reserved", | 153 | [KPF_RESERVED] = "r:reserved", |
152 | [KPF_MLOCKED] = "m:mlocked", | 154 | [KPF_MLOCKED] = "m:mlocked", |
diff --git a/Documentation/vm/pagemap.txt b/Documentation/vm/pagemap.txt index df09b9650a81..4600cbe3d6be 100644 --- a/Documentation/vm/pagemap.txt +++ b/Documentation/vm/pagemap.txt | |||
@@ -60,6 +60,7 @@ There are three components to pagemap: | |||
60 | 19. HWPOISON | 60 | 19. HWPOISON |
61 | 20. NOPAGE | 61 | 20. NOPAGE |
62 | 21. KSM | 62 | 21. KSM |
63 | 22. THP | ||
63 | 64 | ||
64 | Short descriptions to the page flags: | 65 | Short descriptions to the page flags: |
65 | 66 | ||
@@ -97,6 +98,9 @@ Short descriptions to the page flags: | |||
97 | 21. KSM | 98 | 21. KSM |
98 | identical memory pages dynamically shared between one or more processes | 99 | identical memory pages dynamically shared between one or more processes |
99 | 100 | ||
101 | 22. THP | ||
102 | contiguous pages which construct transparent hugepages | ||
103 | |||
100 | [IO related page flags] | 104 | [IO related page flags] |
101 | 1. ERROR IO error occurred | 105 | 1. ERROR IO error occurred |
102 | 3. UPTODATE page has up-to-date data | 106 | 3. UPTODATE page has up-to-date data |
diff --git a/Documentation/vm/unevictable-lru.txt b/Documentation/vm/unevictable-lru.txt index 97bae3c576c2..fa206cccf89f 100644 --- a/Documentation/vm/unevictable-lru.txt +++ b/Documentation/vm/unevictable-lru.txt | |||
@@ -538,7 +538,7 @@ different reverse map mechanisms. | |||
538 | process because mlocked pages are migratable. However, for reclaim, if | 538 | process because mlocked pages are migratable. However, for reclaim, if |
539 | the page is mapped into a VM_LOCKED VMA, the scan stops. | 539 | the page is mapped into a VM_LOCKED VMA, the scan stops. |
540 | 540 | ||
541 | try_to_unmap_anon() attempts to acquire in read mode the mmap semphore of | 541 | try_to_unmap_anon() attempts to acquire in read mode the mmap semaphore of |
542 | the mm_struct to which the VMA belongs. If this is successful, it will | 542 | the mm_struct to which the VMA belongs. If this is successful, it will |
543 | mlock the page via mlock_vma_page() - we wouldn't have gotten to | 543 | mlock the page via mlock_vma_page() - we wouldn't have gotten to |
544 | try_to_unmap_anon() if the page were already mlocked - and will return | 544 | try_to_unmap_anon() if the page were already mlocked - and will return |
@@ -619,11 +619,11 @@ all PTEs from the page. For this purpose, the unevictable/mlock infrastructure | |||
619 | introduced a variant of try_to_unmap() called try_to_munlock(). | 619 | introduced a variant of try_to_unmap() called try_to_munlock(). |
620 | 620 | ||
621 | try_to_munlock() calls the same functions as try_to_unmap() for anonymous and | 621 | try_to_munlock() calls the same functions as try_to_unmap() for anonymous and |
622 | mapped file pages with an additional argument specifing unlock versus unmap | 622 | mapped file pages with an additional argument specifying unlock versus unmap |
623 | processing. Again, these functions walk the respective reverse maps looking | 623 | processing. Again, these functions walk the respective reverse maps looking |
624 | for VM_LOCKED VMAs. When such a VMA is found for anonymous pages and file | 624 | for VM_LOCKED VMAs. When such a VMA is found for anonymous pages and file |
625 | pages mapped in linear VMAs, as in the try_to_unmap() case, the functions | 625 | pages mapped in linear VMAs, as in the try_to_unmap() case, the functions |
626 | attempt to acquire the associated mmap semphore, mlock the page via | 626 | attempt to acquire the associated mmap semaphore, mlock the page via |
627 | mlock_vma_page() and return SWAP_MLOCK. This effectively undoes the | 627 | mlock_vma_page() and return SWAP_MLOCK. This effectively undoes the |
628 | pre-clearing of the page's PG_mlocked done by munlock_vma_page. | 628 | pre-clearing of the page's PG_mlocked done by munlock_vma_page. |
629 | 629 | ||
@@ -641,7 +641,7 @@ with it - the usual fallback position. | |||
641 | Note that try_to_munlock()'s reverse map walk must visit every VMA in a page's | 641 | Note that try_to_munlock()'s reverse map walk must visit every VMA in a page's |
642 | reverse map to determine that a page is NOT mapped into any VM_LOCKED VMA. | 642 | reverse map to determine that a page is NOT mapped into any VM_LOCKED VMA. |
643 | However, the scan can terminate when it encounters a VM_LOCKED VMA and can | 643 | However, the scan can terminate when it encounters a VM_LOCKED VMA and can |
644 | successfully acquire the VMA's mmap semphore for read and mlock the page. | 644 | successfully acquire the VMA's mmap semaphore for read and mlock the page. |
645 | Although try_to_munlock() might be called a great many times when munlocking a | 645 | Although try_to_munlock() might be called a great many times when munlocking a |
646 | large region or tearing down a large address space that has been mlocked via | 646 | large region or tearing down a large address space that has been mlocked via |
647 | mlockall(), overall this is a fairly rare event. | 647 | mlockall(), overall this is a fairly rare event. |