[PATCH 00/12] Transparent huge page cache support on tmpfs

From: Ning Qu
Date: Mon Oct 14 2013 - 20:11:25 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/