Received: by 2002:a05:7412:2a91:b0:fc:a2b0:25d7 with SMTP id u17csp178869rdh; Tue, 13 Feb 2024 13:17:07 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVsmhKMUWnLkyb5PUY4oAOWobo3ssqb6zTUahH5Dm8lM0Fz8OoDEABG70IK7Zu2iwB0n4/doXaMlweQ2JFCAi/7M9DC5WOrUU+DfeUXyw== X-Google-Smtp-Source: AGHT+IHCbIrNyfqTBaTWpdvaYmHVlbIGmis9gaTE9DmMwo9em4kzzzNyOMIO9MZkh5VW/hk4cAFD X-Received: by 2002:ac2:442e:0:b0:511:6fce:16ca with SMTP id w14-20020ac2442e000000b005116fce16camr472787lfl.62.1707859027123; Tue, 13 Feb 2024 13:17:07 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1707859027; cv=pass; d=google.com; s=arc-20160816; b=QZ3ugWhO2iCg4mFEUZNEXlzG4jckR5HLb+HW6Ab8ZuLm/gVaY4Tg9XKXp+X2+NuI3p gEdRH2J0yLqGQ0tL0fwXy/5f+ra19ZLZeadUt9yJue+iBWsIdHn9pxrE0Dhni+9arA7L ILOfkslBFo7wEMMex0ufdbhvW6RVrBbKusi3mQAAO2oDZxyJmQ6OahRbP6TCZj5uoVhM zBhkhf/L93ni4dKNLt0PFbzIs3u2Ps/dgN8kg3QP+FHC1DVGlEw96nICmVLRi4VFEzWK m6x2p6TArn0keGsWCiG4McDiJ0t6nK7hapd3QvFkcb0QMSqZ3caKau4NgYc3GfKRaP92 7D2Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=date:mime-version:list-unsubscribe:list-subscribe:list-id :precedence:references:subject:cc:to:from:dkim-signature :dkim-signature:message-id; bh=jUfwyP6RwJ+NG2QZotkyjvNHejpXh2HAb8201sP7et4=; fh=uKnnVHTdQnifIqkFOE/3uKHOcQQZR11xpLBHZSqlDy8=; b=v1fjaGc39x2K/bcSmwocsdZUS0b2zsKj8S271cYnCJrx4fWXfmYSHa4HG1e6zzOS30 gutoD0JDnZbDEHDn9VgIdvL6mjLcIeQF/xdtI5RwX0tApWFQ+iJ+gLIHjjyqFVJ/va2Y 1rwGhUeJCjvYBU1NbwIFM7zsxe6/liq94mUb6WilbUM8gEnTc74ghVtJ/kvHaOin3MK5 hcCgV1Kdq7BL9aOeRE2IXSW1hgW0B4urjLFRCeGROcvSsqcuY+we9q8L9N5TbP6q325B flCcYHVmTinbNHYoAUz7CCOpAsG8JVU14136lgMjUk3T9dpDyhs98+Z79VJR2FQwyA3h MAjg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=rUnMeu+f; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e; arc=pass (i=1 spf=pass spfdomain=linutronix.de dkim=pass dkdomain=linutronix.de dmarc=pass fromdomain=linutronix.de); spf=pass (google.com: domain of linux-kernel+bounces-64295-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-64295-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de X-Forwarded-Encrypted: i=2; AJvYcCXZqYEgNsVs2BSkSNK2rwvfzkPwto6+AfZ6qIV9RV+9JARsGquoXZmXe+U9v2qXr/pAtr9BAJYhT3FMYHUPESbZ/i1wmkKRHWyQ9t3mWQ== Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id a7-20020a170906684700b00a3d39bbd2e4si49047ejs.622.2024.02.13.13.17.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Feb 2024 13:17:07 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-64295-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=rUnMeu+f; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e; arc=pass (i=1 spf=pass spfdomain=linutronix.de dkim=pass dkdomain=linutronix.de dmarc=pass fromdomain=linutronix.de); spf=pass (google.com: domain of linux-kernel+bounces-64295-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-64295-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id AE3591F227E0 for ; Tue, 13 Feb 2024 21:17:06 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 08BFE629EE; Tue, 13 Feb 2024 21:05:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="rUnMeu+f"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="ScfTmaep" Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C66507E101 for ; Tue, 13 Feb 2024 21:05:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707858351; cv=none; b=s+ezc/zYk4LUrC8x0MlvcR4jJGoEkLzXhXYkA3hMFxyBejOg7qqVzeIlAm5UioP1P8/s9EZZeCBg23g4rCrAG8s02rnXZBoeIhLm31R9Y3H2QrpG9RSr8KYEpX2nGK6dNr+Uc4CBBvuHOG2KVOLKb2gTPt0iIUxoM8c5WBJyDO0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1707858351; c=relaxed/simple; bh=5IeBHR+hi4fg1vQf0hDj/BBesg9OuajUyfYPsFjXYFU=; h=Message-ID:From:To:Cc:Subject:References:MIME-Version: Content-Type:Date; b=u8ifL88kM6CN6ldMq2rR3PvCN9zq20mzmkrVlfpqNVme1vsth65WRkU5W+BOr4d/MFCFjrpiOXCv7brh0b+ZjZ8agIOFqnlixgi241Gtq9KxdAM6148zZkxLCpv0bOdHm+cKv4Ky4eDoTq5LzJ0akovaMEQlQaEEhCNYt0ukdNQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=rUnMeu+f; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=ScfTmaep; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Message-ID: <20240213210252.050264369@linutronix.de> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1707858348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: references:references; bh=jUfwyP6RwJ+NG2QZotkyjvNHejpXh2HAb8201sP7et4=; b=rUnMeu+fJoD6WHPEtzIoDbT+Q7+upy4kbBH0WbmnooP6GGci5od+qh8+N2D7aGHo4cCa++ b5XRpRdDyciTqqHgVnahQb0DPY7L/7oCbrQ/+nQLglT3kG7H7utX10+hE2uMoT9pIiJLnA 2E7tLevqaaTZLN3nZ2rV1YxdlQmCgVAtrGRvv7yq5cObWv+xL0L8nXSX9lh49ajWMP80No nyKihM0crHv3Qu4Sj4jKFzCjrmfE8FJjMF02naREN4towBXXzf732/h1gVAssdKr6GF26/ uflasigfWdwyDmtQn2lsXZiEBCo2OGexAy0Yq4HnCqxdIE5aeG3wJt/etIwdeA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1707858348; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: references:references; bh=jUfwyP6RwJ+NG2QZotkyjvNHejpXh2HAb8201sP7et4=; b=ScfTmaepVt/4T1ejBLyvwXVZ/G3LTfMnyRBYEAz1MwLutCpveJtl/dbZkJVaqOMS6djW4W ZsjpJa97acQ2ITCA== From: Thomas Gleixner To: LKML Cc: x86@kernel.org, Tom Lendacky , Andrew Cooper , Arjan van de Ven , Huang Rui , Juergen Gross , Dimitri Sivanich , Sohil Mehta , K Prateek Nayak , Kan Liang , Zhang Rui , "Paul E. McKenney" , Feng Tang , Andy Shevchenko , Michael Kelley , "Peter Zijlstra (Intel)" Subject: [patch 10/30] x86/cpu/topology: Simplify APIC registration References: <20240213205415.307029033@linutronix.de> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Date: Tue, 13 Feb 2024 22:05:47 +0100 (CET) From: Thomas Gleixner Having the same check whether the number of assigned CPUs has reached the nr_cpu_ids limit twice in the same code path is pointless. Repeating the information that CPUs are ignored over and over is also pointless noise. Remove the redundant check and reduce the noise by using a pr_warn_once(). Signed-off-by: Thomas Gleixner --- arch/x86/kernel/cpu/topology.c | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) --- --- a/arch/x86/kernel/cpu/topology.c +++ b/arch/x86/kernel/cpu/topology.c @@ -107,14 +107,6 @@ static int allocate_logical_cpuid(u32 ap if (cpu >= 0) return cpu; - /* Allocate a new cpuid. */ - if (nr_logical_cpuids >= nr_cpu_ids) { - WARN_ONCE(1, "APIC: NR_CPUS/possible_cpus limit of %u reached. " - "Processor %d/0x%x and the rest are ignored.\n", - nr_cpu_ids, nr_logical_cpuids, apic_id); - return -EINVAL; - } - cpuid_to_apicid[nr_logical_cpuids] = apic_id; return nr_logical_cpuids++; } @@ -135,7 +127,7 @@ static void cpu_update_apic(int cpu, u32 static int generic_processor_info(int apicid) { - int cpu, max = nr_cpu_ids; + int cpu; /* The boot CPU must be set before MADT/MPTABLE parsing happens */ if (cpuid_to_apicid[0] == BAD_APICID) @@ -155,21 +147,12 @@ static int generic_processor_info(int ap } if (num_processors >= nr_cpu_ids) { - int thiscpu = max + disabled_cpus; - - pr_warn("APIC: NR_CPUS/possible_cpus limit of %i reached. " - "Processor %d/0x%x ignored.\n", max, thiscpu, apicid); - + pr_warn_once("APIC: CPU limit of %d reached. Ignoring further CPUs\n", nr_cpu_ids); disabled_cpus++; - return -EINVAL; + return -ENOSPC; } cpu = allocate_logical_cpuid(apicid); - if (cpu < 0) { - disabled_cpus++; - return -EINVAL; - } - cpu_update_apic(cpu, apicid); return cpu; }