From patchwork Tue Oct 6 21:22:34 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matt Fleming X-Patchwork-Id: 52046 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n96LSd9L000820 for ; Tue, 6 Oct 2009 21:28:42 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933190AbZJFVYx (ORCPT ); Tue, 6 Oct 2009 17:24:53 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S933272AbZJFVYx (ORCPT ); Tue, 6 Oct 2009 17:24:53 -0400 Received: from 124x34x33x190.ap124.ftth.ucom.ne.jp ([124.34.33.190]:58141 "EHLO master.linux-sh.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933190AbZJFVYw (ORCPT ); Tue, 6 Oct 2009 17:24:52 -0400 Received: from localhost (unknown [127.0.0.1]) by master.linux-sh.org (Postfix) with ESMTP id C05CE63796; Tue, 6 Oct 2009 21:23:05 +0000 (UTC) X-Quarantine-ID: <7uY5bHGNktkO> X-Virus-Scanned: amavisd-new at linux-sh.org X-Amavis-Alert: BAD HEADER, Duplicate header field: "In-Reply-To" Received: from master.linux-sh.org ([127.0.0.1]) by localhost (master.linux-sh.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7uY5bHGNktkO; Wed, 7 Oct 2009 06:23:05 +0900 (JST) Received: from localhost (82-38-64-26.cable.ubr06.brad.blueyonder.co.uk [82.38.64.26]) by master.linux-sh.org (Postfix) with ESMTP id 220A163784; Wed, 7 Oct 2009 06:23:04 +0900 (JST) From: Matt Fleming To: Paul Mundt Cc: linux-sh@vger.kernel.org Subject: [PATCH 14/14] sh: Don't allocate smaller sized mappings on every iteration Date: Tue, 6 Oct 2009 22:22:34 +0100 Message-Id: <09b3f0f688064534368f251eac86dc5b0afbc7a1.1254861984.git.matt@console-pimps.org> X-Mailer: git-send-email 1.6.3.3 In-Reply-To: <20d41a0fcf8435fd2aaaeb0c0c3975239783b55e.1254861984.git.matt@console-pimps.org> References: <1db0a1123393575aec324e0d808b6369f9837fe4.1254861984.git.matt@console-pimps.org> <22db0c702ba4b19699c05c38c26a6061bd0bbf40.1254861984.git.matt@console-pimps.org> <522679ccc33da57080deaa75f23dc5d6b782dbba.1254861984.git.matt@console-pimps.org> <014aa11fe1891ca085d72b8b6fb56703b7637a8b.1254861984.git.matt@console-pimps.org> <46a9d1e2f3461c917c9f43e512bd25eced531695.1254861984.git.matt@console-pimps.org> <74c586207600f78a4fa0bd080917bea1c5402f82.1254861984.git.matt@console-pimps.org> <20d41a0fcf8435fd2aaaeb0c0c3975239783b55e.1254861984.git.matt@console-pimps.org> In-Reply-To: References: Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org diff --git a/arch/sh/mm/pmb.c b/arch/sh/mm/pmb.c index f821c2e..280f6a1 100644 --- a/arch/sh/mm/pmb.c +++ b/arch/sh/mm/pmb.c @@ -214,6 +214,13 @@ again: pmbp->link = pmbe; pmbp = pmbe; + + /* + * Instead of trying smaller sizes on every iteration + * (even if we succeed in allocating space), try using + * pmb_sizes[i].size again. + */ + i--; } if (size >= 0x1000000)