From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B6564C433ED for ; Wed, 19 May 2021 14:16:38 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 887B3611AE for ; Wed, 19 May 2021 14:16:38 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 887B3611AE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-Id:Date: Subject:Cc:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=vs+Yh1aq2QkIEuYeYYuKKx2R5/pDLmOe9MCxJRpJ3cM=; b=aNGPIHS4eQrk/lZQO94UYpQWS wrioeA1CoFM/KITKw3ZTqQCyrlAYNqw2E/aeRPXgPqXf/E9lM67jIxlmXp6e39AnD+4o6roiY2b5F nNGqhD421UgPmJXdAvyD8ZHwt73xoJDGiZNRqSqiN8Z1cK/ql9PXVTMv7Dv/kIIgUdZ4dnGu/O/Gj iyDvmUvhfvLd7UvI65jqHuBhxHRYCv2w8+hPQgZPkm29fybJ0gif5Fpm0ZhJqU3S83rzkptCqqhZy R9fSLBGxlRMiP44yMFOCr7ihizO2F1kUXg2JMb3iWOXrmqJ//iBKuSW62BSczil3Tmre/K7k1E62/ Y+unqFTcQ==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1ljMye-004Dpo-9F; Wed, 19 May 2021 14:15:12 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1ljMyI-004DnL-OZ for linux-arm-kernel@desiato.infradead.org; Wed, 19 May 2021 14:14:51 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description; bh=6B4X+w0gstcYRgmA/S9+I4BaeY2ESvlDWN9mSom1Hqo=; b=oemaYauoMOs8gwqwMIIqVva5Oi vXH3cLUbwDw4X/l2fkKtLBoeI14+92xi3T1um2oPbV2UIUDYoHR2S0JLfd4D4SMRcgL47hvTdJGC9 NLZxCMda4znO7lzPnGraUSW0Wr3NsdLOEcWFTHaDGs07d4nE8sISzFln4AkZaW105de5kRERxp9Yo JhtWnZF//C0tBlyqE/ZftAMdiulMrxgfTbVBxjJscjSXmSRdKgM10/Gj9V+3JtASaiEwoG9yU+eK4 HUs8IEt/diXX573+3JJbrKmqEJBY2UZH00pyixE03NTvKcvg77Chev/pcbn0zMX4YfoF9aRhWpcq0 nGKWP6IA==; Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1ljMyG-00FWsv-1Z for linux-arm-kernel@lists.infradead.org; Wed, 19 May 2021 14:14:49 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 98BEE611AE; Wed, 19 May 2021 14:14:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1621433687; bh=8S/jBfuQqPw5Y9SjeyOmElG9wuJ/AnCGL+Y38mTgWSw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=hTCE1ElGd8RQUsYpH10tZHH8+JrbvHD8gDqQ3oiQsubqDJKdm5uGMtoKd9AG4tcu0 F46Nu1C9cdBQvHyH+17uUbdB0KIl7QDKZBPoHUsAoRkhPcUXx4lRPV1afjIhbdKLkJ +TKjoZhXcRPAN2oaldHMhj23eKI753CfmaJcVqGeSCyrVW+PRIqV0nMBCUWC3LNRx2 dtJPLCuG60q+NAmamqwgOs6EgZLv8m5tJmF4dVkgiqn/EL7j6AZwxj2qU+YHOleN3B 6OXmcc4prO3YituX+8Ap8WhwBXkdVrz2/Cq/UuGRExK5pgPNCleR/oHPSCJ/FqMLZ9 NnC8WZrXn5SPg== From: Mike Rapoport To: linux-arm-kernel@lists.infradead.org Cc: Andrew Morton , Kefeng Wang , Mike Rapoport , Mike Rapoport , Russell King , linux-kernel@vger.kernel.org, linux-mm@kvack.org Subject: [PATCH v2 2/3] memblock: align freed memory map on pageblock boundaries with SPARSEMEM Date: Wed, 19 May 2021 17:14:35 +0300 Message-Id: <20210519141436.11961-3-rppt@kernel.org> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20210519141436.11961-1-rppt@kernel.org> References: <20210519141436.11961-1-rppt@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210519_071448_124700_A1DDF174 X-CRM114-Status: GOOD ( 13.94 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Mike Rapoport When CONFIG_SPARSEMEM=y the ranges of the memory map that are freed are not aligned to the pageblock boundaries which breaks assumptions about homogeneity of the memory map throughout core mm code. Make sure that the freed memory map is always aligned on pageblock boundaries regardless of the memory model selection. Signed-off-by: Mike Rapoport --- mm/memblock.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mm/memblock.c b/mm/memblock.c index 97fa87541b5f..2e25d69739e0 100644 --- a/mm/memblock.c +++ b/mm/memblock.c @@ -1941,14 +1941,13 @@ static void __init free_unused_memmap(void) * due to SPARSEMEM sections which aren't present. */ start = min(start, ALIGN(prev_end, PAGES_PER_SECTION)); -#else +#endif /* * Align down here since many operations in VM subsystem * presume that there are no holes in the memory map inside * a pageblock */ start = round_down(start, pageblock_nr_pages); -#endif /* * If we had a previous bank, and there is a space @@ -1966,8 +1965,10 @@ static void __init free_unused_memmap(void) } #ifdef CONFIG_SPARSEMEM - if (!IS_ALIGNED(prev_end, PAGES_PER_SECTION)) + if (!IS_ALIGNED(prev_end, PAGES_PER_SECTION)) { + prev_end = ALIGN(end, pageblock_nr_pages); free_memmap(prev_end, ALIGN(prev_end, PAGES_PER_SECTION)); + } #endif } -- 2.28.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel