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

From: Ning Qu
Date: Fri Oct 18 2013 - 14:25:22 EST


I guess this is the last review I have for this around, but not sure
what's the best solution right now.

Kirill, do you think it's OK to just split the huge page when it will
be moved. Will look into how thp anon handle this situation.

Then after this, I probably will post v2.

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


On Tue, Oct 15, 2013 at 11:42 AM, Ning Qu <quning@xxxxxxxxxx> wrote:
> 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/