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 1/15/20 1:45 PM, Mike Kravetz wrote:
On 1/15/20 1:30 PM, Yang Shi wrote:
On 1/15/20 1:07 PM, Mike Kravetz wrote:
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.
I don't think we can do this easily since migrate_pages() would put the migration failed hugetlb pages back to hugepage_activelist so there should not any hugetlb page reside on the pagelist regardless of failure if I read the code correctly.

You are correct.  I made an assumption without actually looking at the code. :(

Other than that traversing page list to look for a certain type page doesn't sound scalable to me.

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?
By rethinking the history (thanks again for digging into it), it sounds #3 should be more reasonable. It sounds like the behavior was changed since hugetlb migration was added but the man page was not updated to reflect the change.

Let's hope Naoya comments.  My only concern with #3 is that we will be changing
behavior.  I do not think many people (if any) depend on existing behavior.
However, you can never be sure.

Yes, this would change the bahavior, but I don't see why we have to treat hugetlb specially nowadays with migration supported.






[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