Re: [PATCH 08/15] mm: mmzone: MIGRATE_CMA migration type added
- Subject: Re: [PATCH 08/15] mm: mmzone: MIGRATE_CMA migration type added
- From: Mel Gorman <mel@xxxxxxxxx>
- Date: Mon, 30 Jan 2012 14:52:30 +0000
- Cc: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-media@xxxxxxxxxxxxxxx, linux-mm@xxxxxxxxx, linaro-mm-sig@xxxxxxxxxxxxxxxx, Kyungmin Park <kyungmin.park@xxxxxxxxxxx>, Russell King <linux@xxxxxxxxxxxxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>, Daniel Walker <dwalker@xxxxxxxxxxxxxx>, Arnd Bergmann <arnd@xxxxxxxx>, Jesse Barker <jesse.barker@xxxxxxxxxx>, Jonathan Corbet <corbet@xxxxxxx>, Shariq Hasnain <shariq.hasnain@xxxxxxxxxx>, Chunsang Jeong <chunsang.jeong@xxxxxxxxxx>, Dave Hansen <dave@xxxxxxxxxxxxxxxxxx>, Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxx>
- In-reply-to: <op.v8wepotk3l0zgt@mpn-glaptop>
- User-agent: Mutt/1.5.21 (2010-09-15)
On Mon, Jan 30, 2012 at 02:06:50PM +0100, Michal Nazarewicz wrote:
> >>@@ -1017,11 +1049,14 @@ __rmqueue_fallback(struct zone *zone, int order, int start_migratetype)
> >> rmv_page_order(page);
> >>
> >> /* Take ownership for orders >= pageblock_order */
> >>- if (current_order >= pageblock_order)
> >>+ if (current_order >= pageblock_order &&
> >>+ !is_pageblock_cma(page))
> >> change_pageblock_range(page, current_order,
> >> start_migratetype);
> >>
> >>- expand(zone, page, order, current_order, area, migratetype);
> >>+ expand(zone, page, order, current_order, area,
> >>+ is_migrate_cma(start_migratetype)
> >>+ ? start_migratetype : migratetype);
> >>
> >
> >What is this check meant to be doing?
> >
> >start_migratetype is determined by allocflags_to_migratetype() and
> >that never will be MIGRATE_CMA so is_migrate_cma(start_migratetype)
> >should always be false.
>
> Right, thanks! This should be the other way around, ie.:
>
> + expand(zone, page, order, current_order, area,
> + is_migrate_cma(migratetype)
> + ? migratetype : start_migratetype);
>
> I'll fix this and the calls to is_pageblock_cma().
>
That makes a lot more sense. Thanks.
I have a vague recollection that there was a problem with finding
unmovable pages in MIGRATE_CMA regions. This might have been part of
the problem.
--
Mel Gorman
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux Input]
[Video for Linux]
[Mplayer Users]
[Linux USB Devel]
[Linux Audio Users]
[Photos]
[Yosemite Photos]
[Linux Kernel]
[Linux SCSI]
[XFree86]
[Devices]
[Yosemite Backpacking]