shmem: add huge pages support
Here's basic implementation of huge pages support for shmem/tmpfs. It's all pretty streight-forward: - shmem_getpage() allcoates huge page if it can and try to inserd into radix tree with shmem_add_to_page_cache(); - shmem_add_to_page_cache() puts the page onto radix-tree if there's space for it; - shmem_undo_range() removes huge pages, if it fully within range. Partial truncate of huge pages zero out this part of THP. This have visible effect on fallocate(FALLOC_FL_PUNCH_HOLE) behaviour. As we don't really create hole in this case, lseek(SEEK_HOLE) may have inconsistent results depending what pages happened to be allocated. - no need to change shmem_fault: core-mm will map an compound page as huge if VMA is suitable; Link: http://lkml.kernel.org/r/1466021202-61880-30-git-send-email-kirill.shutemov@linux.intel.com Signed-off-by:Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Signed-off-by:
Andrew Morton <akpm@linux-foundation.org> Signed-off-by:
Linus Torvalds <torvalds@linux-foundation.org>
parent
c01d5b30
-
mentioned in commit 38cda6b5
-
mentioned in commit 377a796e
-
mentioned in commit 9dbb5ac4
-
mentioned in commit 11b5f1bd
-
mentioned in commit b767134e
-
mentioned in commit 61168eaf
-
mentioned in commit d5d912c4
-
mentioned in commit c5bb5606
-
mentioned in commit 2c595b67
-
mentioned in commit 2445837e
-
mentioned in commit c52e6f64
-
mentioned in commit eac96c3e
-
mentioned in commit 6ac01725
-
mentioned in commit 0f2dca51
-
mentioned in commit 9025ee10
Please register or sign in to comment