Messages in this thread | | | Subject | Re: [tip:x86/mm] mm/sparsemem: Allocate mem_section at runtime for CONFIG_SPARSEMEM_EXTREME=y | From | Sudeep Holla <> | Date | Thu, 2 Nov 2017 15:07:27 +0000 |
| |
On 02/11/17 14:12, Kirill A. Shutemov wrote: > On Thu, Nov 02, 2017 at 01:42:42PM +0000, Sudeep Holla wrote: >> >> >> 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 >>>> <tipbot@zytor.com> wrote: >>>>> Commit-ID: 83e3c48729d9ebb7af5a31a504f3fd6aff0348c4 >>>>> Gitweb: https://git.kernel.org/tip/83e3c48729d9ebb7af5a31a504f3fd6aff0348c4 >>>>> Author: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> >>>>> AuthorDate: Fri, 29 Sep 2017 17:08:16 +0300 >>>>> Committer: Ingo Molnar <mingo@kernel.org> >>>>> CommitDate: Fri, 20 Oct 2017 13:07:09 +0200 >>>>> >>>>> mm/sparsemem: Allocate mem_section at runtime for CONFIG_SPARSEMEM_EXTREME=y >>>>> >>>>> 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 otherwise >>>>> we waste a lot of RAM: with CONFIG_NODE_SHIFT=10, mem_section[] size 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_present_with_active_regions(). >>>>> >>>> >>>> I am seeing a boot failure with this patch in linux-next today(20171102) >>> >>> Could you share the kernel config? >>> >> >> It's the default config on arm64. Generated file is almost 160kB, I will >> send it to you off-list. >> >>> Have you bisected the failure to the commit? >>> >> I just reverted this commit as I suspected that and it boots fine after >> the revert. > > Could you try the patch below instead? > > From 4a9d843f9d939d958612b0079ebe5743f265e1e0 Mon Sep 17 00:00:00 2001 > From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> > Date: Thu, 2 Nov 2017 17:02:29 +0300 > Subject: [PATCH] mm, sparse: Fix boot on arm64 > > Since 83e3c48729d9 ("mm/sparsemem: Allocate mem_section at runtime for > CONFIG_SPARSEMEM_EXTREME=y") 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. > > Let's move the initialization into memory_present() it should cover all > architectures. >
Thanks for the quick fix. It boots fine with this patch.
Reported-and-tested-by: Sudeep Holla <sudeep.holla@arm.com>
-- Regards, Sudeep
| |