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=-13.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 46E97C433DB for ; Mon, 1 Feb 2021 11:56:25 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E510664E7A for ; Mon, 1 Feb 2021 11:56:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229941AbhBAL4Y (ORCPT ); Mon, 1 Feb 2021 06:56:24 -0500 Received: from foss.arm.com ([217.140.110.172]:57552 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229707AbhBAL4W (ORCPT ); Mon, 1 Feb 2021 06:56:22 -0500 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id BC30CED1; Mon, 1 Feb 2021 03:55:36 -0800 (PST) Received: from e113632-lin (e113632-lin.cambridge.arm.com [10.1.194.46]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 9EE813F718; Mon, 1 Feb 2021 03:55:35 -0800 (PST) From: Valentin Schneider To: Dietmar Eggemann , linux-kernel@vger.kernel.org Cc: mingo@kernel.org, peterz@infradead.org, vincent.guittot@linaro.org, morten.rasmussen@arm.com, mgorman@suse.de, song.bao.hua@hisilicon.com Subject: Re: [PATCH 1/1] sched/topology: Make sched_init_numa() use a set for the deduplicating sort In-Reply-To: <6000e39e-7d28-c360-9cd6-8798fd22a9bf@arm.com> References: <20210122123943.1217-1-valentin.schneider@arm.com> <20210122123943.1217-2-valentin.schneider@arm.com> <6000e39e-7d28-c360-9cd6-8798fd22a9bf@arm.com> User-Agent: Notmuch/0.21 (http://notmuchmail.org) Emacs/26.3 (x86_64-pc-linux-gnu) Date: Mon, 01 Feb 2021 11:55:30 +0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/02/21 10:53, Dietmar Eggemann wrote: > On 22/01/2021 13:39, Valentin Schneider wrote: > > [...] > >> @@ -1705,7 +1702,7 @@ void sched_init_numa(void) >> /* Compute default topology size */ >> for (i = 0; sched_domain_topology[i].mask; i++); >> >> - tl = kzalloc((i + level + 1) * >> + tl = kzalloc((i + nr_levels) * >> sizeof(struct sched_domain_topology_level), GFP_KERNEL); >> if (!tl) >> return; > > This hunk creates issues during startup on my Arm64 juno board on tip/sched/core. > > ---8<--- > > From: Dietmar Eggemann > Date: Mon, 1 Feb 2021 09:58:04 +0100 > Subject: [PATCH] sched/topology: Fix sched_domain_topology_level alloc in > sched_init_numa > > Commit "sched/topology: Make sched_init_numa() use a set for the > deduplicating sort" allocates 'i + nr_levels (level)' instead of > 'i + nr_levels + 1' sched_domain_topology_level. > > This led to an Oops (on Arm64 juno with CONFIG_SCHED_DEBUG): > > sched_init_domains > build_sched_domains() > __free_domain_allocs() > __sdt_free() { > ... > for_each_sd_topology(tl) > ... > sd = *per_cpu_ptr(sdd->sd, j); <-- > ... > } > > Signed-off-by: Dietmar Eggemann Damn, I forgot the topology level stuff must terminate in a NULL'd sentinel! Vincent fixed the same thing a few years ago... c515db8cd311 ("sched/numa: Fix initialization of sched_domain_topology for NUMA") Thanks for fixing up my mistake, I ought to have tested !NUMA setups.