From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933862AbdKBPhe (ORCPT ); Thu, 2 Nov 2017 11:37:34 -0400 Received: from mail-wr0-f193.google.com ([209.85.128.193]:46135 "EHLO mail-wr0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933658AbdKBPhd (ORCPT ); Thu, 2 Nov 2017 11:37:33 -0400 X-Google-Smtp-Source: ABhQp+R05j7uQ9lzMt/FNC0v1KqPg/ElMnNkgZut9kIXhgY82T2n8dC1QlqB+HLZRXMldhZkJ2FY8Q== Date: Thu, 2 Nov 2017 16:37:29 +0100 From: Thierry Reding To: "Kirill A. Shutemov" Cc: Sudeep Holla , "Kirill A. Shutemov" , Ingo Molnar , Thomas Gleixner , Peter Zijlstra , hpa@zytor.com, Andrew Morton , gorcunov@openvz.org, luto@amacapital.net, bp@suse.de, open list , torvalds@linux-foundation.org, Will Deacon , Catalin Marinas Subject: Re: [tip:x86/mm] mm/sparsemem: Allocate mem_section at runtime for CONFIG_SPARSEMEM_EXTREME=y Message-ID: <20171102153729.GA25491@ulmo> References: <20170929140821.37654-2-kirill.shutemov@linux.intel.com> <20171102133433.hisnvz5iwmwdzjlz@node.shutemov.name> <44b8b5c8-0e9d-0534-0d0c-49618b292802@arm.com> <20171102141210.gu4cwpoq2e6o7liu@black.fi.intel.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="UlVJffcvxoiEqYs2" Content-Disposition: inline In-Reply-To: <20171102141210.gu4cwpoq2e6o7liu@black.fi.intel.com> User-Agent: Mutt/1.9.1 (2017-09-22) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --UlVJffcvxoiEqYs2 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Nov 02, 2017 at 05:12:11PM +0300, Kirill A. Shutemov wrote: > On Thu, Nov 02, 2017 at 01:42:42PM +0000, Sudeep Holla wrote: > >=20 > >=20 > > On 02/11/17 13:34, Kirill A. Shutemov wrote: > > > On Thu, Nov 02, 2017 at 12:31:54PM +0000, Sudeep Holla wrote: > > >> (+Will, Catalin) > > >> > > >> On Fri, Oct 20, 2017 at 1:27 PM, tip-bot for Kirill A. Shutemov > > >> wrote: > > >>> Commit-ID: 83e3c48729d9ebb7af5a31a504f3fd6aff0348c4 > > >>> Gitweb: https://git.kernel.org/tip/83e3c48729d9ebb7af5a31a504f3= fd6aff0348c4 > > >>> Author: Kirill A. Shutemov > > >>> AuthorDate: Fri, 29 Sep 2017 17:08:16 +0300 > > >>> Committer: Ingo Molnar > > >>> CommitDate: Fri, 20 Oct 2017 13:07:09 +0200 > > >>> > > >>> mm/sparsemem: Allocate mem_section at runtime for CONFIG_SPARSEMEM_= EXTREME=3Dy > > >>> > > >>> Size of the mem_section[] array depends on the size of the physical= address space. > > >>> > > >>> In preparation for boot-time switching between paging modes on x86-= 64 > > >>> we need to make the allocation of mem_section[] dynamic, because ot= herwise > > >>> we waste a lot of RAM: with CONFIG_NODE_SHIFT=3D10, mem_section[] s= ize is 32kB > > >>> for 4-level paging and 2MB for 5-level paging mode. > > >>> > > >>> The patch allocates the array on the first call to sparse_memory_pr= esent_with_active_regions(). > > >>> > > >> > > >> I am seeing a boot failure with this patch in linux-next today(20171= 102) > > >=20 > > > Could you share the kernel config? > > >=20 > >=20 > > It's the default config on arm64. Generated file is almost 160kB, I will > > send it to you off-list. > >=20 > > > Have you bisected the failure to the commit? > > >=20 > > I just reverted this commit as I suspected that and it boots fine after > > the revert. >=20 > Could you try the patch below instead? >=20 > From 4a9d843f9d939d958612b0079ebe5743f265e1e0 Mon Sep 17 00:00:00 2001 > From: "Kirill A. Shutemov" > Date: Thu, 2 Nov 2017 17:02:29 +0300 > Subject: [PATCH] mm, sparse: Fix boot on arm64 >=20 > Since 83e3c48729d9 ("mm/sparsemem: Allocate mem_section at runtime for > CONFIG_SPARSEMEM_EXTREME=3Dy") we allocate mem_section dynamically in > sparse_memory_present_with_active_regions(). But some architectures, like > arm64, don't use the routine to initialize sparsemem. >=20 > Let's move the initialization into memory_present() it should cover all > architectures. >=20 > Signed-off-by: Kirill A. Shutemov > Fixes: 83e3c48729d9 ("mm/sparsemem: Allocate mem_section at runtime for C= ONFIG_SPARSEMEM_EXTREME=3Dy") > --- > mm/page_alloc.c | 10 ---------- > mm/sparse.c | 10 ++++++++++ > 2 files changed, 10 insertions(+), 10 deletions(-) I can also confirm that this restores booting on 64-bit ARM (Tegra186, Jetson TX2, specifically): Tested-by: Thierry Reding --UlVJffcvxoiEqYs2 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAln7O7YACgkQ3SOs138+ s6H/CBAAlYz8HQ/pqjfrRI+A+JU0ZAW/U59KSRycCU0eDpckyBySJPWnQFORSf3R zGV3Q9GuTC5uKwbjMUwGnOljvYOrnmOF+xQcgHZY5S5sGPBnOS5qD0pu8Zg6ibGQ 9w7qHpHsbMNGDMg3SfahmM6VZCAh6IfXLBzihsBWnm7A6g+yFgDGWbzHNzseXKv6 ho+pYsA0QS4KFSfo/XQ1h7Z8Fz2nlJKkzXsNrahMIhcy1SrEbs6RTSNSriw6mSAp 4L6erQe2CxAJUoKC7TApBl9DZKCGOH4uJ4T/hE7NKTcPjpN54HHL+umSe/m1JaYa B//e/8eY5Kx4mx0lG7TpKLjAMx2khMp28n4w21ak6eddQLFlKZ1mkL/UDaS3DNI+ 1yl09USOvaf7PaY/ZqfSDIr/9hYfJDcCdG4i0ny/YMxC0GZ5uybrFqlt31W/cpTx DOAy7/maXwfAYguEMccnrz5wtaRpv2kYFq+q49lTjezRXTncuUA2wr473avGMMWl 4nNRZXzKtIJubrkHsPA4lCPQhhM+ByK3Qm/cNXhu/8vrxgT+Scplr9uZiIUclZ9E +7Yc1RSnM7ubm5Zv4LlSMi+XuvWsGZ94vXKCF28tpGEI5+KThPFNFMcGMlGcv8Mq 540Wt6UeH/Xp0RLbmg+Mt2dO9CaSsUVdEgNApZcqswqGu/LkqX8= =QGp4 -----END PGP SIGNATURE----- --UlVJffcvxoiEqYs2--