Messages in this thread | | | Date | Thu, 27 Jul 2017 09:28:58 +0200 | From | Michal Hocko <> | Subject | Re: gigantic hugepages vs. movable zones |
| |
On Thu 27-07-17 07:52:08, Aneesh Kumar K.V wrote: > Michal Hocko <mhocko@kernel.org> 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.
> That may conflict with CMA pages ?
How?
> Wondering whether we should check for page's pageblock migrate type in > pfn_range_valid_gigantic() ?
I do not think so. Migrate type is just too lowlevel for pfn_range_valid_gigantic. If something like that is really needed then it should go down the CMA/alloc_contig_range path. -- Michal Hocko SUSE Labs
| |