Re: [PATCH 2/2] mm/mempolicy: Skip walking HUGETLB vma if MPOL_MF_STRICT is specified alone

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

 



On Wed 15-01-20 13:07:17, Mike Kravetz wrote:
[...]
> Summary
> =======
> It 'looks' like the statement "MPOL_MF_STRICT is ignored on huge page
> mappings." is left over from the original mbind implementation.  When
> the huge page migration support was added, I can not be sure if ignoring
> MPOL_MF_STRICT for huge pages during the verify/isolation phase was
> intentional.  It seems like it was as the return value from
> isolate_huge_page() is ignored.

THanks for the tedious work of studying the mess^Whistory.
> 
> What should we do?
> ==================
> 1) Nothing more than optimizations by Li Xinhai.  Behavior that could be
>    seen as conflicting with man page has existed since v3.12 and I am
>    not aware of any complaints.
> 2) In addition to optimizations by Li Xinhai, modify code to truly ignore
>    MPOL_MF_STRICT for huge page mappings.  This would be fairly easy to do
>    after a failure of migrate_pages().  We could simply traverse the list
>    of pages that were not migrated looking for any non-hugetlb page.
> 3) Remove the statement "MPOL_MF_STRICT is ignored on huge page mappings."
>    and modify code accordingly.
> 
> My suggestion would be for 1 or 2.  Thoughts?

And why do we exactly need to do anything at all? There is an
inconsistency that has been there for years without anybody noticing.
NUMA API is a mess on its own and unfixable at this stage, there will
always be some corner cases. If there is no real workload hitting this
incosistency and suffering, I would rather not touch this at all.
Unless the change would clean up the code or make it more maintainable.
-- 
Michal Hocko
SUSE Labs




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

  Powered by Linux