Hi, Kirill, I have reviewed the current migration code and seems huge page will get splitted during migration. Since our current split_huge_page handle file cache as well, it seems not a problem for us? We just simply not removing the __GFP_MOVABLE flag? Anything else I am missing here? Thanks! Best wishes, -- Ning Qu (曲宁) | Software Engineer | quning@xxxxxxxxxx | +1-408-418-6066 On Fri, Oct 18, 2013 at 11:24 AM, Ning Qu <quning@xxxxxxxxxx> wrote: > 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-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html