From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757348Ab3JOALT (ORCPT ); Mon, 14 Oct 2013 20:11:19 -0400 Received: from mail-pa0-f49.google.com ([209.85.220.49]:47567 "EHLO mail-pa0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753884Ab3JOALR (ORCPT ); Mon, 14 Oct 2013 20:11:17 -0400 Date: Mon, 14 Oct 2013 17:11:12 -0700 From: Ning Qu To: Andrea Arcangeli , Andrew Morton , "Kirill A. Shutemov" , Hugh Dickins Cc: Al Viro , Hugh Dickins , Wu Fengguang , Jan Kara , Mel Gorman , linux-mm@kvack.org, Andi Kleen , Matthew Wilcox , Hillf Danton , Dave Hansen , Alexander Shishkin , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Ning Qu Subject: [PATCH 00/12] Transparent huge page cache support on tmpfs Message-ID: <20131015001112.GA3432@hippobay.mtv.corp.google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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