Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4752589pxj; Wed, 12 May 2021 12:25:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyWChgLQxJnWNfSdBvCD5KlHfz+t3AjJUMKE6485seGsSjIxZQxI8qKCXb2PRgjG3egN7ya X-Received: by 2002:a17:906:551:: with SMTP id k17mr39568057eja.69.1620847545338; Wed, 12 May 2021 12:25:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1620847545; cv=none; d=google.com; s=arc-20160816; b=WG5dR8QZOz81o7XUjO4ZqKR8EjZq2mpwRj7XKdhb/7i9lntN1vC0Nc6aqQIykHbylP HWpCk9Ewm26V9ozyOtbTQZ9WKGSX1E5kHJh7u++DyMsfOGQ7E2pscfJZRENVPxt+QJ7K 6aGJOGGrGHg87wm7Y7SjZvX4l/Vupl/Tt4Ig8pcKdjw38L8297D4PNa68ZqDdMD1uYq1 HhrmQ9n4LYPkTIHsYjDznDw/Mvfn5Zb22PN6oGB+zJv8ne/Qm3Ig6ISvaD/+0FVpWpBs KOJpA70b46oh0tjYt9LnpndhHu7YM6QjkVpmqWlIps03DBDiDDaDLqKOdQ/g8jeRNshb nagg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Mdnk+zeNFpuS5pu6jUanJErQz+ZHPqbO9QGL2YCcCTg=; b=AkkcB0YKEhWoYJQHDxLNYmnIxwLWpUm52ZOjmYWt8z5s9d7DD9LQ6ZtTSw6VFqxzNe c0pO8Lp9U+NNEmMJvK9vy0V/r9ZX+u69uQ0tHrlkwDMPLi4sXOSN/AlecsLu4g9AOYBy Unw6e3ErDcTCkWa+txNNRDjHOV8iPG+i42CcI6k+1JBdKsmv9OSncRhHB8/P/kfX0+LL GZMUrrBztZ7q90rX26zHANxMEc7i3tzeZrPJntOJB9DTlZuJPVCw5SiRWU0zz4j2b/Ac CZq56sgv4TpWHtNTGo96uH+TEa80nXiq97pv/7nvc29lWkxCC4ruC4YHEeFZfJXLvjTK Fwkg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=OCpt8a4Y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id eo8si686954ejc.686.2021.05.12.12.25.21; Wed, 12 May 2021 12:25:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=OCpt8a4Y; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1379522AbhELTT6 (ORCPT + 99 others); Wed, 12 May 2021 15:19:58 -0400 Received: from mail.kernel.org ([198.145.29.99]:46602 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S244617AbhELQuz (ORCPT ); Wed, 12 May 2021 12:50:55 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5963261C7E; Wed, 12 May 2021 16:17:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1620836231; bh=cK0I+9z1a9uAAHTRH7FQmN5b9KmUIDsz+QMLkxfhR1k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OCpt8a4YUxdc5yPDVGKQZtMPrjU62dZ8A7Y8nqMOYe09v3yc4ETVPZJG33MsRZUt5 oD4nG+Q4wxNSHWaBf8jE3VDMzQy2koEvlB1pS24VP1u286q5+sc+8cnz6DK35wZzjK 0Vi5wc2M03fRtKUYTCUpwB8fBzoKeSab7PT1mqxc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Valentin Schneider , John Paul Adrian Glaubitz , Sergei Trofimovich , "Peter Zijlstra (Intel)" , Ingo Molnar , Vincent Guittot , Dietmar Eggemann , Anatoly Pugachev , Andrew Morton , Linus Torvalds , Sasha Levin Subject: [PATCH 5.12 663/677] ia64: ensure proper NUMA distance and possible map initialization Date: Wed, 12 May 2021 16:51:49 +0200 Message-Id: <20210512144859.399647330@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210512144837.204217980@linuxfoundation.org> References: <20210512144837.204217980@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Valentin Schneider [ Upstream commit b22a8f7b4bde4e4ab73b64908ffd5d90ecdcdbfd ] John Paul reported a warning about bogus NUMA distance values spurred by commit: 620a6dc40754 ("sched/topology: Make sched_init_numa() use a set for the deduplicating sort") In this case, the afflicted machine comes up with a reported 256 possible nodes, all of which are 0 distance away from one another. This was previously silently ignored, but is now caught by the aforementioned commit. The culprit is ia64's node_possible_map which remains unchanged from its initialization value of NODE_MASK_ALL. In John's case, the machine doesn't have any SRAT nor SLIT table, but AIUI the possible map remains untouched regardless of what ACPI tables end up being parsed. Thus, !online && possible nodes remain with a bogus distance of 0 (distances \in [0, 9] are "reserved and have no meaning" as per the ACPI spec). Follow x86 / drivers/base/arch_numa's example and set the possible map to the parsed map, which in this case seems to be the online map. Link: http://lore.kernel.org/r/255d6b5d-194e-eb0e-ecdd-97477a534441@physik.fu-berlin.de Link: https://lkml.kernel.org/r/20210318130617.896309-1-valentin.schneider@arm.com Fixes: 620a6dc40754 ("sched/topology: Make sched_init_numa() use a set for the deduplicating sort") Signed-off-by: Valentin Schneider Reported-by: John Paul Adrian Glaubitz Tested-by: John Paul Adrian Glaubitz Tested-by: Sergei Trofimovich Cc: "Peter Zijlstra (Intel)" Cc: Ingo Molnar Cc: Vincent Guittot Cc: Dietmar Eggemann Cc: Anatoly Pugachev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Sasha Levin --- arch/ia64/kernel/acpi.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index a5636524af76..e2af6b172200 100644 --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c @@ -446,7 +446,8 @@ void __init acpi_numa_fixup(void) if (srat_num_cpus == 0) { node_set_online(0); node_cpuid[0].phys_id = hard_smp_processor_id(); - return; + slit_distance(0, 0) = LOCAL_DISTANCE; + goto out; } /* @@ -489,7 +490,7 @@ void __init acpi_numa_fixup(void) for (j = 0; j < MAX_NUMNODES; j++) slit_distance(i, j) = i == j ? LOCAL_DISTANCE : REMOTE_DISTANCE; - return; + goto out; } memset(numa_slit, -1, sizeof(numa_slit)); @@ -514,6 +515,8 @@ void __init acpi_numa_fixup(void) printk("\n"); } #endif +out: + node_possible_map = node_online_map; } #endif /* CONFIG_ACPI_NUMA */ -- 2.30.2