Re: [PATCH 11/12] mm, thp, tmpfs: enable thp page cache in tmpfs

From: Ning Qu
Date: Tue Oct 15 2013 - 14:43:08 EST


I agree with this. It has been like this just for a quick proof, but I
need to address this problem as soon as possible.

Thanks!
Best wishes,
--
Ning Qu (æå) | Software Engineer | quning@xxxxxxxxxx | +1-408-418-6066


On Tue, Oct 15, 2013 at 4:09 AM, Kirill A. Shutemov
<kirill.shutemov@xxxxxxxxxxxxxxx> wrote:
> Ning Qu wrote:
>> Signed-off-by: Ning Qu <quning@xxxxxxxxx>
>> ---
>> mm/Kconfig | 4 ++--
>> mm/shmem.c | 5 +++++
>> 2 files changed, 7 insertions(+), 2 deletions(-)
>>
>> diff --git a/mm/Kconfig b/mm/Kconfig
>> index 562f12f..4d2f90f 100644
>> --- a/mm/Kconfig
>> +++ b/mm/Kconfig
>> @@ -428,8 +428,8 @@ config TRANSPARENT_HUGEPAGE_PAGECACHE
>> help
>> Enabling the option adds support hugepages for file-backed
>> mappings. It requires transparent hugepage support from
>> - filesystem side. For now, the only filesystem which supports
>> - hugepages is ramfs.
>> + filesystem side. For now, the filesystems which support
>> + hugepages are: ramfs and tmpfs.
>>
>> config CROSS_MEMORY_ATTACH
>> bool "Cross Memory Support"
>> diff --git a/mm/shmem.c b/mm/shmem.c
>> index 75c0ac6..50a3335 100644
>> --- a/mm/shmem.c
>> +++ b/mm/shmem.c
>> @@ -1672,6 +1672,11 @@ static struct inode *shmem_get_inode(struct super_block *sb, const struct inode
>> break;
>> case S_IFREG:
>> inode->i_mapping->a_ops = &shmem_aops;
>> + /*
>> + * TODO: make tmpfs pages movable
>> + */
>> + mapping_set_gfp_mask(inode->i_mapping,
>> + GFP_TRANSHUGE & ~__GFP_MOVABLE);
>
> Unlike ramfs, tmpfs pages are movable before transparent page cache
> patchset.
> Making tmpfs pages non-movable looks like a big regression to me. It need
> to be fixed before proposing it upstream.
>
> --
> Kirill A. Shutemov
--
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/