Re: [PATCH v3 5/6] mm/cma: remove MIGRATE_CMA

From: Joonsoo Kim
Date: Fri May 27 2016 - 01:31:29 EST


On Fri, May 27, 2016 at 09:42:24AM +0800, Chen Feng wrote:
> Hi Joonsoo,
> > -/* Free whole pageblock and set its migration type to MIGRATE_CMA. */
> > +/* Free whole pageblock and set its migration type to MIGRATE_MOVABLE. */
> > void __init init_cma_reserved_pageblock(struct page *page)
> > {
> > unsigned i = pageblock_nr_pages;
> > @@ -1605,7 +1602,7 @@ void __init init_cma_reserved_pageblock(struct page *page)
> >
> > adjust_present_page_count(page, pageblock_nr_pages);
> >
> > - set_pageblock_migratetype(page, MIGRATE_CMA);
> > + set_pageblock_migratetype(page, MIGRATE_MOVABLE);
>
> I have a question here, if the ZONE_CMA pages are all movable.
>
> Then the unmovable alloc will also use CMA memory. Is this right?

No, previous patch changes that the CMA memory is on separate zone,
ZONE_CMA. We allow that zone when gfp is GFP_HIGHUSER_MOVABLE so
unmovable allocation cannot happen on CMA memory.

Thanks.