From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753560Ab2A3Owf (ORCPT ); Mon, 30 Jan 2012 09:52:35 -0500 Received: from gir.skynet.ie ([193.1.99.77]:39058 "EHLO gir.skynet.ie" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753196Ab2A3Owd (ORCPT ); Mon, 30 Jan 2012 09:52:33 -0500 Date: Mon, 30 Jan 2012 14:52:30 +0000 From: Mel Gorman To: Michal Nazarewicz Cc: Marek Szyprowski , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, linux-mm@kvack.org, linaro-mm-sig@lists.linaro.org, Kyungmin Park , Russell King , Andrew Morton , KAMEZAWA Hiroyuki , Daniel Walker , Arnd Bergmann , Jesse Barker , Jonathan Corbet , Shariq Hasnain , Chunsang Jeong , Dave Hansen , Benjamin Gaignard Subject: Re: [PATCH 08/15] mm: mmzone: MIGRATE_CMA migration type added Message-ID: <20120130145230.GQ25268@csn.ul.ie> References: <1327568457-27734-1-git-send-email-m.szyprowski@samsung.com> <1327568457-27734-9-git-send-email-m.szyprowski@samsung.com> <20120130123542.GL25268@csn.ul.ie> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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