From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Nazarewicz Date: Fri, 24 Oct 2014 16:26:58 +0000 Subject: Re: [PATCH v2 3/4] mm: cma: Ensure that reservations never cross the low/high mem boundary Message-Id: List-Id: References: <1414145922-26042-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <1414145922-26042-4-git-send-email-laurent.pinchart+renesas@ideasonboard.com> In-Reply-To: <1414145922-26042-4-git-send-email-laurent.pinchart+renesas@ideasonboard.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-arm-kernel@lists.infradead.org On Fri, Oct 24 2014, Laurent Pinchart wrote: > Commit 95b0e655f914 ("ARM: mm: don't limit default CMA region only to > low memory") extended CMA memory reservation to allow usage of high > memory. It relied on commit f7426b983a6a ("mm: cma: adjust address limit > to avoid hitting low/high memory boundary") to ensure that the reserved > block never crossed the low/high memory boundary. While the > implementation correctly lowered the limit, it failed to consider the > case where the base..limit range crossed the low/high memory boundary > with enough space on each side to reserve the requested size on either > low or high memory. > > Rework the base and limit adjustment to fix the problem. The function > now starts by rejecting the reservation altogether for fixed > reservations that cross the boundary, tries to reserve from high memory > first and then falls back to low memory. > > Signed-off-by: Laurent Pinchart Acked-by: Michal Nazarewicz From mboxrd@z Thu Jan 1 00:00:00 1970 From: mina86@mina86.com (Michal Nazarewicz) Date: Fri, 24 Oct 2014 18:26:58 +0200 Subject: [PATCH v2 3/4] mm: cma: Ensure that reservations never cross the low/high mem boundary In-Reply-To: <1414145922-26042-4-git-send-email-laurent.pinchart+renesas@ideasonboard.com> References: <1414145922-26042-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <1414145922-26042-4-git-send-email-laurent.pinchart+renesas@ideasonboard.com> Message-ID: To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Fri, Oct 24 2014, Laurent Pinchart wrote: > Commit 95b0e655f914 ("ARM: mm: don't limit default CMA region only to > low memory") extended CMA memory reservation to allow usage of high > memory. It relied on commit f7426b983a6a ("mm: cma: adjust address limit > to avoid hitting low/high memory boundary") to ensure that the reserved > block never crossed the low/high memory boundary. While the > implementation correctly lowered the limit, it failed to consider the > case where the base..limit range crossed the low/high memory boundary > with enough space on each side to reserve the requested size on either > low or high memory. > > Rework the base and limit adjustment to fix the problem. The function > now starts by rejecting the reservation altogether for fixed > reservations that cross the boundary, tries to reserve from high memory > first and then falls back to low memory. > > Signed-off-by: Laurent Pinchart Acked-by: Michal Nazarewicz From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lb0-f173.google.com (mail-lb0-f173.google.com [209.85.217.173]) by kanga.kvack.org (Postfix) with ESMTP id BC7F36B0069 for ; Fri, 24 Oct 2014 12:27:05 -0400 (EDT) Received: by mail-lb0-f173.google.com with SMTP id 10so2884606lbg.18 for ; Fri, 24 Oct 2014 09:27:05 -0700 (PDT) Received: from mail-la0-x231.google.com (mail-la0-x231.google.com. [2a00:1450:4010:c03::231]) by mx.google.com with ESMTPS id a4si7728651lbm.77.2014.10.24.09.27.03 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 24 Oct 2014 09:27:03 -0700 (PDT) Received: by mail-la0-f49.google.com with SMTP id gf13so1643688lab.36 for ; Fri, 24 Oct 2014 09:27:02 -0700 (PDT) From: Michal Nazarewicz Subject: Re: [PATCH v2 3/4] mm: cma: Ensure that reservations never cross the low/high mem boundary In-Reply-To: <1414145922-26042-4-git-send-email-laurent.pinchart+renesas@ideasonboard.com> References: <1414145922-26042-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <1414145922-26042-4-git-send-email-laurent.pinchart+renesas@ideasonboard.com> Date: Fri, 24 Oct 2014 18:26:58 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Sender: owner-linux-mm@kvack.org List-ID: To: Laurent Pinchart , linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sh@vger.kernel.org, Marek Szyprowski , Russell King - ARM Linux , Joonsoo Kim , Weijie Yang On Fri, Oct 24 2014, Laurent Pinchart wrote: > Commit 95b0e655f914 ("ARM: mm: don't limit default CMA region only to > low memory") extended CMA memory reservation to allow usage of high > memory. It relied on commit f7426b983a6a ("mm: cma: adjust address limit > to avoid hitting low/high memory boundary") to ensure that the reserved > block never crossed the low/high memory boundary. While the > implementation correctly lowered the limit, it failed to consider the > case where the base..limit range crossed the low/high memory boundary > with enough space on each side to reserve the requested size on either > low or high memory. > > Rework the base and limit adjustment to fix the problem. The function > now starts by rejecting the reservation altogether for fixed > reservations that cross the boundary, tries to reserve from high memory > first and then falls back to low memory. > > Signed-off-by: Laurent Pinchart Acked-by: Michal Nazarewicz -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756771AbaJXQ1I (ORCPT ); Fri, 24 Oct 2014 12:27:08 -0400 Received: from mail-la0-f44.google.com ([209.85.215.44]:57939 "EHLO mail-la0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754174AbaJXQ1E (ORCPT ); Fri, 24 Oct 2014 12:27:04 -0400 From: Michal Nazarewicz To: Laurent Pinchart , linux-mm@kvack.org Cc: linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sh@vger.kernel.org, Marek Szyprowski , Russell King - ARM Linux , Joonsoo Kim , Weijie Yang Subject: Re: [PATCH v2 3/4] mm: cma: Ensure that reservations never cross the low/high mem boundary In-Reply-To: <1414145922-26042-4-git-send-email-laurent.pinchart+renesas@ideasonboard.com> Organization: http://mina86.com/ References: <1414145922-26042-1-git-send-email-laurent.pinchart+renesas@ideasonboard.com> <1414145922-26042-4-git-send-email-laurent.pinchart+renesas@ideasonboard.com> User-Agent: Notmuch/0.17+15~gb65ca8e (http://notmuchmail.org) Emacs/25.0.50.1 (x86_64-unknown-linux-gnu) X-Face: PbkBB1w#)bOqd`iCe"Ds{e+!C7`pkC9a|f)Qo^BMQvy\q5x3?vDQJeN(DS?|-^$uMti[3D*#^_Ts"pU$jBQLq~Ud6iNwAw_r_o_4]|JO?]}P_}Nc&"p#D(ZgUb4uCNPe7~a[DbPG0T~!&c.y$Ur,=N4RT>]dNpd;KFrfMCylc}gc??'U2j,!8%xdD Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAJFBMVEWbfGlUPDDHgE57V0jUupKjgIObY0PLrom9mH4dFRK4gmjPs41MxjOgAAACQElEQVQ4jW3TMWvbQBQHcBk1xE6WyALX1069oZBMlq+ouUwpEQQ6uRjttkWP4CmBgGM0BQLBdPFZYPsyFUo6uEtKDQ7oy/U96XR2Ux8ehH/89Z6enqxBcS7Lg81jmSuujrfCZcLI/TYYvbGj+jbgFpHJ/bqQAUISj8iLyu4LuFHJTosxsucO4jSDNE0Hq3hwK/ceQ5sx97b8LcUDsILfk+ovHkOIsMbBfg43VuQ5Ln9YAGCkUdKJoXR9EclFBhixy3EGVz1K6eEkhxCAkeMMnqoAhAKwhoUJkDrCqvbecaYINlFKSRS1i12VKH1XpUd4qxL876EkMcDvHj3s5RBajHHMlA5iK32e0C7VgG0RlzFPvoYHZLRmAC0BmNcBruhkE0KsMsbEc62ZwUJDxWUdMsMhVqovoT96i/DnX/ASvz/6hbCabELLk/6FF/8PNpPCGqcZTGFcBhhAaZZDbQPaAB3+KrWWy2XgbYDNIinkdWAFcCpraDE/knwe5DBqGmgzESl1p2E4MWAz0VUPgYYzmfWb9yS4vCvgsxJriNTHoIBz5YteBvg+VGISQWUqhMiByPIPpygeDBE6elD973xWwKkEiHZAHKjhuPsFnBuArrzxtakRcISv+XMIPl4aGBUJm8Emk7qBYU8IlgNEIpiJhk/No24jHwkKTFHDWfPniR4iw5vJaw2nzSjfq2zffcE/GDjRC2dn0J0XwPAbDL84TvaFCJEU4Oml9pRyEUhR3Cl2t01AoEjRbs0sYugp14/4X5n4pU4EHHnMAAAAAElFTkSuQmCC X-PGP: 50751FF4 X-PGP-FP: AC1F 5F5C D418 88F8 CC84 5858 2060 4012 5075 1FF4 X-Hashcash: 1:20:141024:linux-arm-kernel@lists.infradead.org::GwfKHbMRa0SYQRN1:000000000000000000000000006XA X-Hashcash: 1:20:141024:m.szyprowski@samsung.com::uUqbbOAZs/a9Eg1N:00000000000000000000000000000000000000R8w X-Hashcash: 1:20:141024:laurent.pinchart@ideasonboard.com::LNbV1rNWYY6QfD3a:00000000000000000000000000000YiF X-Hashcash: 1:20:141024:iamjoonsoo.kim@lge.com::diUAFJQY0R3x2qlj:0000000000000000000000000000000000000003M1Y X-Hashcash: 1:20:141024:linux-sh@vger.kernel.org::gCfqVHrPTiTGaymU:00000000000000000000000000000000000002iOr X-Hashcash: 1:20:141024:linux-kernel@vger.kernel.org::34QsBwqq1JjnDQrS:0000000000000000000000000000000003T8w X-Hashcash: 1:20:141024:linux-mm@kvack.org::Xu4o4gwzN2/QyWkb:00000000000000000000000000000000000000000005Rpg X-Hashcash: 1:20:141024:weijie.yang.kh@gmail.com::5cnwCu+7Y+S1V6Xv:000000000000000000000000000000000000085Nl X-Hashcash: 1:20:141024:linux@arm.linux.org.uk::FBO4fwTDPmwWezz0:000000000000000000000000000000000000000BB7a Date: Fri, 24 Oct 2014 18:26:58 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Oct 24 2014, Laurent Pinchart wrote: > Commit 95b0e655f914 ("ARM: mm: don't limit default CMA region only to > low memory") extended CMA memory reservation to allow usage of high > memory. It relied on commit f7426b983a6a ("mm: cma: adjust address limit > to avoid hitting low/high memory boundary") to ensure that the reserved > block never crossed the low/high memory boundary. While the > implementation correctly lowered the limit, it failed to consider the > case where the base..limit range crossed the low/high memory boundary > with enough space on each side to reserve the requested size on either > low or high memory. > > Rework the base and limit adjustment to fix the problem. The function > now starts by rejecting the reservation altogether for fixed > reservations that cross the boundary, tries to reserve from high memory > first and then falls back to low memory. > > Signed-off-by: Laurent Pinchart Acked-by: Michal Nazarewicz