Re: gigantic hugepages vs. movable zones
From: Aneesh Kumar K.V
Date: Thu Jul 27 2017 - 04:00:44 EST
On 07/27/2017 12:58 PM, Michal Hocko wrote:
On Thu 27-07-17 07:52:08, Aneesh Kumar K.V wrote:
Michal Hocko <mhocko@xxxxxxxxxx> writes:
Hi,
I've just noticed that alloc_gigantic_page ignores movability of the
gigantic page and it uses any existing zone. Considering that
hugepage_migration_supported only supports 2MB and pgd level hugepages
then 1GB pages are not migratable and as such allocating them from a
movable zone will break the basic expectation of this zone. Standard
hugetlb allocations try to avoid that by using htlb_alloc_mask and I
believe we should do the same for gigantic pages as well.
I suspect this behavior is not intentional. What do you think about the
following untested patch?
I also noticed an unrelated issue with the usage of
start_isolate_page_range. On error we set the migrate type to
MIGRATE_MOVABLE.
Why that should be a problem? I think it is perfectly OK to have
MIGRATE_MOVABLE pageblocks inside kernel zones.
we can pick pages with migrate type movable and if we fail to isolate
won't we set the migrate type of that pages to MOVABLE ?
-aneesh