Messages in this thread Patch in this message | | | From | "Kirill A. Shutemov" <> | Subject | [PATCHv7 16/29] vmscan: split file huge pages before paging them out | Date | Sat, 16 Apr 2016 03:23:47 +0300 |
| |
This is preparation of vmscan for file huge pages. We cannot write out huge pages, so we need to split them on the way out.
Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> --- mm/vmscan.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/mm/vmscan.c b/mm/vmscan.c index e9fe17c96ef8..df56f6a2dbfe 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -1055,8 +1055,14 @@ static unsigned long shrink_page_list(struct list_head *page_list, /* Adding to swap updated mapping */ mapping = page_mapping(page); + } else if (unlikely(PageTransHuge(page))) { + /* Split file THP */ + if (split_huge_page_to_list(page, page_list)) + goto keep_locked; } + VM_BUG_ON_PAGE(PageTransHuge(page), page); + /* * The page is mapped into the page tables of one or more * processes. Try to unmap it here. -- 2.8.0.rc3
| |