From patchwork Tue Oct 16 07:58:35 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mel Gorman X-Patchwork-Id: 1599451 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) by patchwork2.kernel.org (Postfix) with ESMTP id DB83DDFFED for ; Tue, 16 Oct 2012 08:00:45 +0000 (UTC) Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.76 #1 (Red Hat Linux)) id 1TO233-0002SU-1N; Tue, 16 Oct 2012 07:58:45 +0000 Received: from cantor2.suse.de ([195.135.220.15] helo=mx2.suse.de) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1TO22y-0002SF-RJ for linux-arm-kernel@lists.infradead.org; Tue, 16 Oct 2012 07:58:41 +0000 Received: from relay2.suse.de (unknown [195.135.220.254]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx2.suse.de (Postfix) with ESMTP id 28FB1A329C; Tue, 16 Oct 2012 09:58:38 +0200 (CEST) Date: Tue, 16 Oct 2012 08:58:35 +0100 From: Mel Gorman To: Tony Prisk Subject: Re: dma_alloc_coherent fails in framebuffer Message-ID: <20121016075835.GF29125@suse.de> References: <1350192523.10946.4.camel@gitbox> <1350246895.11504.6.camel@gitbox> <20121015094547.GC29125@suse.de> <1350325704.31162.16.camel@gitbox> <1350366893.26424.5.camel@gitbox> <1350370207.26424.13.camel@gitbox> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1350370207.26424.13.camel@gitbox> User-Agent: Mutt/1.5.21 (2010-09-15) X-Spam-Note: CRM114 invocation failed X-Spam-Score: -7.3 (-------) X-Spam-Report: SpamAssassin version 3.3.2 on merlin.infradead.org summary: Content analysis details: (-7.3 points) pts rule name description ---- ---------------------- -------------------------------------------------- -5.0 RCVD_IN_DNSWL_HI RBL: Sender listed at http://www.dnswl.org/, high trust [195.135.220.15 listed in list.dnswl.org] -0.4 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] Cc: linux-mm@kvack.org, Arnd Bergmann , Arm Kernel Mailing List X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org On Tue, Oct 16, 2012 at 07:50:07PM +1300, Tony Prisk wrote: > > > > Why it caused a problem on that particular commit I don't know - but it > > > > was reproducible by adding/removing it. > > > > > > > > I finally found the link to this patch which caused the problem - and > > may still be the cause of my problems :) > > Blast, thanks. This was already identified as being a problem and "fixed" in https://lkml.org/lkml/2012/10/5/164 but I missed that the fix did not get picked up before RC1 after all the patches got collapsed together. I'm very sorry about that, I should have spotted that it didn't make it through. > Any suggestions on how to fix this? > Can you test this to be sure and if it's fine I'll push it to Andrew. ---8<--- mm: compaction: Correct the strict_isolated check for CMA Thierry reported that the "iron out" patch for isolate_freepages_block() had problems due to the strict check being too strict with "mm: compaction: Iron out isolate_freepages_block() and isolate_freepages_range() -fix1". It's possible that more pages than necessary are isolated but the check still fails and I missed that this fix was not picked up before RC1. This has also been identified in RC1 by Tony Prisk and should be addressed by the following patch. Signed-off-by: Mel Gorman Tested-by: Tony Prisk --- compaction.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/compaction.c b/mm/compaction.c index 2c4ce17..9eef558 100644 --- a/mm/compaction.c +++ b/mm/compaction.c @@ -346,7 +346,7 @@ static unsigned long isolate_freepages_block(struct compact_control *cc, * pages requested were isolated. If there were any failures, 0 is * returned and CMA will fail. */ - if (strict && nr_strict_required != total_isolated) + if (strict && nr_strict_required > total_isolated) total_isolated = 0; if (locked)