Files
linux/include/linux
Kirill A. Shutemov 800d8c63b2 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>
2016-07-26 16:19:19 -07:00
..
2016-03-04 23:50:27 -06:00
2016-07-04 17:19:22 +05:30
2016-07-04 08:19:21 -07:00
2016-03-15 16:55:16 -07:00
2016-06-07 22:07:09 -04:00
2016-06-01 14:56:57 -07:00
2016-06-28 10:22:02 +02:00
2016-06-25 09:04:48 -07:00
2016-07-26 16:19:19 -07:00
2016-05-31 22:12:43 +05:30
2016-05-17 15:48:12 -04:00
2016-07-13 11:53:40 -07:00
2016-07-26 16:19:19 -07:00
2016-04-06 13:18:19 +02:00
2016-03-11 14:58:58 -05:00
2016-03-22 15:36:02 -07:00
2016-05-11 19:31:40 -04:00
2016-05-11 22:37:54 +02:00
2016-03-22 15:36:02 -07:00
2016-06-15 16:00:05 -07:00
2016-03-22 15:36:02 -07:00
2016-05-03 15:07:35 -07:00
2016-05-19 19:12:14 -07:00
2016-07-26 16:19:19 -07:00
2016-05-17 15:48:12 -04:00
2016-05-17 15:47:55 -04:00
2016-05-23 17:04:14 -07:00
2016-04-25 15:09:11 -04:00
2016-05-02 09:00:56 -05:00
2016-05-19 19:12:14 -07:00
2016-03-14 15:43:11 -04:00
2016-06-23 18:37:05 +02:00
2016-03-17 15:09:34 -07:00
2016-03-22 15:36:02 -07:00
2016-03-22 15:36:02 -07:00
2016-03-22 15:36:02 -07:00
2016-07-26 16:19:19 -07:00
2016-07-26 16:19:19 -07:00
2016-07-26 16:19:19 -07:00
2016-07-26 16:19:19 -07:00
2016-05-08 23:46:14 -04:00
2016-05-20 17:58:30 -07:00
2016-05-19 19:12:14 -07:00
2016-06-20 12:47:15 -07:00
2016-05-23 17:04:14 -07:00
2016-04-07 16:53:29 -04:00
2016-07-26 16:19:19 -07:00
2016-05-20 17:58:30 -07:00
2016-06-25 09:04:48 -07:00