From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756182AbcA2OZA (ORCPT ); Fri, 29 Jan 2016 09:25:00 -0500 Received: from mail1.windriver.com ([147.11.146.13]:58106 "EHLO mail1.windriver.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751918AbcA2OY7 (ORCPT ); Fri, 29 Jan 2016 09:24:59 -0500 Date: Fri, 29 Jan 2016 09:24:37 -0500 From: Paul Gortmaker To: Mike Kravetz CC: Christian Borntraeger , Hillf Danton , "'Andrew Morton'" , "'Nadia Yvette Chambers'" , "'Alexander Viro'" , "'Naoya Horiguchi'" , "'David Rientjes'" , "'Davidlohr Bueso'" , "'Linux Kernel Mailing List'" Subject: Re: Regression: 4.5-rc1 (bisect: hugetlb: make mm and fs code explicitly non-modular vs CONFIG_TIMER_STATS) Message-ID: <20160129142436.GS8889@windriver.com> References: <56A9DC76.2030502@de.ibm.com> <059e01d159af$e4317390$ac945ab0$@alibaba-inc.com> <56A9E404.7000409@de.ibm.com> <20160128143723.GN8889@windriver.com> <56AA2E44.4070709@oracle.com> <56AA939D.6080104@oracle.com> <20160128225955.GR8889@windriver.com> <56AAB1F9.7090400@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <56AAB1F9.7090400@oracle.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org [Re: Regression: 4.5-rc1 (bisect: hugetlb: make mm and fs code explicitly non-modular vs CONFIG_TIMER_STATS)] On 28/01/2016 (Thu 16:27) Mike Kravetz wrote: > On 01/28/2016 02:59 PM, Paul Gortmaker wrote: > > [Re: Regression: 4.5-rc1 (bisect: hugetlb: make mm and fs code explicitly non-modular vs CONFIG_TIMER_STATS)] On 28/01/2016 (Thu 14:18) Mike Kravetz wrote: > > > >> On 01/28/2016 07:05 AM, Mike Kravetz wrote: [...] > >> on s390 numa nodes are initialized at device_initcall in the appropriately > >> named routine numa_init_late(). hugetlb_init must be done after numa > >> initialization. So, I suggest we just move the hugetlb initialization > >> back to device_initcall. What do you think Paul? Patch below. > > > > We could, but that ignores the fact that the original priorities worked > > by chance and not by design, as my commit log indicates. Instead, I'd > > like to know why S390 does core NUMA operations as late as > > device_initcall. Setting up NUMA nodes should be arch_initcall or > > subsys_initcall, or earlier --- it should not be device_initcall as if > > it was some leaf node UART driver or ethernet driver. There is no > > endpoint "device" in NUMA in this context. > > This is in linux-next after 4.5-rc1 > > commit 2d0f76a6ca1f2cdcffca7ce130f67ec61caa0999 > Author: Michael Holzheu > Date: Wed Jan 20 19:22:16 2016 +0100 > > s390/numa: move numa_init_late() from device to arch_initcall Nice. Too bad one of us didn't see this a few hours earlier, but oh well. At least it backs up what I said above. Thanks, Paul. -- > > Commit 3e89e1c5ea ("hugetlb: make mm and fs code explicitly > non-modular") > moves hugetlb_init() from module_init to subsys_initcall. > > The hugetlb_init()->hugetlb_register_node() code accesses > "node->dev.kobj" > which is initialized in numa_init_late(). > > Since numa_init_late() is a device_initcall which is called *after* > subsys_initcall the above mentioned patch breaks NUMA on s390. > > So fix this and move numa_init_late() to arch_initcall. > > Fixes: 3e89e1c5ea ("hugetlb: make mm and fs code explicitly > non-modular") > Reviewed-by: Heiko Carstens > Signed-off-by: Michael Holzheu > Signed-off-by: Martin Schwidefsky > > -- > Mike Kravetz