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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]