Transparent huge page support on tmpfs. Please review. Intro ----- The goal of the project is to enable transparent huge page support on tmpfs. The whole patchset is based on Kirill's latest patchset about Transparent huge page cache v6. As the link below: https://lkml.org/lkml/2013/9/23/230 To further proof that the proposed changes are functional we try enable this feature for a more complex file system tmpfs besides ramfs. tmpfs comes with swap support which make is more usable. Design overview --------------- We share the exact same design from Kirill's work. However, due to the complexity of tmpfs, we do a lot of refactoring on the implementation. Known problem --------------- We do try to make it work with swapping, but currently there are still some problem with it. I am debbugging it. However, it would be great to have more opinions about the design in the current patchset and where we should be heading to. Ning Qu (12): mm, thp, tmpfs: add function to alloc huge page for tmpfs mm, thp, tmpfs: support to add huge page into page cache for tmpfs mm, thp, tmpfs: handle huge page cases in shmem_getpage_gfp mm, thp, tmpfs: split huge page when moving from page cache to swap mm, thp, tmpfs: request huge page in shm_fault when needed mm, thp, tmpfs: initial support for huge page in write_begin/write_end in tmpfs mm, thp, tmpfs: handle huge page in shmem_undo_range for truncate mm, thp, tmpfs: huge page support in do_shmem_file_read mm, thp, tmpfs: huge page support in shmem_fallocate mm, thp, tmpfs: only alloc small pages in shmem_file_splice_read mm, thp, tmpfs: enable thp page cache in tmpfs mm, thp, tmpfs: misc fixes for thp tmpfs mm/Kconfig | 4 +- mm/huge_memory.c | 27 +++ mm/shmem.c | 511 +++++++++++++++++++++++++++++++++++++++++++++++-------- 3 files changed, 467 insertions(+), 75 deletions(-) -- 1.8.4 -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html