| Message ID | 20250128164646.4009-5-yury.norov@gmail.com (mailing list archive) |
|---|---|
| State | Handled Elsewhere |
| Headers | show
Return-Path:
<linuxppc-dev+bounces-5644-incoming=patchwork.ozlabs.org@lists.ozlabs.org>
X-Original-To: incoming@patchwork.ozlabs.org
Delivered-To: patchwork-incoming@legolas.ozlabs.org
Authentication-Results: legolas.ozlabs.org;
dkim=pass (2048-bit key;
unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256
header.s=20230601 header.b=eWeuAqUO;
dkim-atps=neutral
Authentication-Results: legolas.ozlabs.org;
spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org
(client-ip=112.213.38.117; helo=lists.ozlabs.org;
envelope-from=linuxppc-dev+bounces-5644-incoming=patchwork.ozlabs.org@lists.ozlabs.org;
receiver=patchwork.ozlabs.org)
Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature ECDSA (secp384r1))
(No client certificate requested)
by legolas.ozlabs.org (Postfix) with ESMTPS id 4YjB5r5HdDz20HS
for <incoming@patchwork.ozlabs.org>; Wed, 29 Jan 2025 03:47:12 +1100 (AEDT)
Received: from boromir.ozlabs.org (localhost [127.0.0.1])
by lists.ozlabs.org (Postfix) with ESMTP id 4YjB5c3thSz2x9M;
Wed, 29 Jan 2025 03:47:00 +1100 (AEDT)
X-Original-To: linuxppc-dev@lists.ozlabs.org
Authentication-Results: lists.ozlabs.org;
arc=none smtp.remote-ip="2607:f8b0:4864:20::b2d"
ARC-Seal: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1738082820;
cv=none;
b=XweANGHkqUIBBI+YwHHz7l76jg+J/8CuSiWXnPYPObQv76eLMjXa2FyHpWZXfQICXKomatogU/mgwSCbJDQkP3MECfHLN6cCXEnbEQcb5ZNIk1bKpnT8hwB1/mZf0l3LVIGp2GIGhYCx8fbW7qkgmu3AnCrsIX2oYCLupacOO7e7o2zBpNEyo7BGkla0k1jAvOzYt3h4qPrpF1wssCQ+luPZNW9RWQSk/NVcb/SxdBoPa01vkE9yUhILgeC6rZKVzQqIbtA/2yu2mTxPYCEptx8ecHQo1SQa2SHz6bAThiIlnQZu/xwmm8k+CeaWBtUcVonarnfcxWlhnFAMSnf1DQ==
ARC-Message-Signature: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;
t=1738082820; c=relaxed/relaxed;
bh=3kAK//hhU6+Dq+Mdh8OblTFhw6zLSUBb3rmm8+LJHLw=;
h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:
MIME-Version;
b=GoUe4+DnYDEU8H+K7Tr+sh7yH2yx8kZzvcqv5RjhCvLzPK5I6J8glQvAde191S6zy2uZSboGTzsCPUpPA5/CPWPzRAQbwkGqknIstPcYrSW96jTQUysMVODUo7BvABfHjoYOMRuiawBk4xN2sogPLLbechMY3tIMtGGAIqv+ULIW2E9nxiiksDv8TpmyftjaHwmt6RXqBC/BZ0IqX3E5+db3y3u+nzX9wVxAKhT5bpQFtqhhxBzeg4HbGRSuC7RTB5Y1yNiR5ccLbCZuPDEtlo2oGGaAA2AyX1G/KoDlfnS0yD59XrxMkn73r+yXu+oJI19icm+9SuMJeakq4MbvPg==
ARC-Authentication-Results: i=1; lists.ozlabs.org;
dmarc=pass (p=none dis=none) header.from=gmail.com; dkim=pass (2048-bit key;
unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256
header.s=20230601 header.b=eWeuAqUO; dkim-atps=neutral;
spf=pass (client-ip=2607:f8b0:4864:20::b2d; helo=mail-yb1-xb2d.google.com;
envelope-from=yury.norov@gmail.com;
receiver=lists.ozlabs.org) smtp.mailfrom=gmail.com
Authentication-Results: lists.ozlabs.org;
dmarc=pass (p=none dis=none) header.from=gmail.com
Authentication-Results: lists.ozlabs.org;
dkim=pass (2048-bit key;
unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256
header.s=20230601 header.b=eWeuAqUO;
dkim-atps=neutral
Authentication-Results: lists.ozlabs.org;
spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com
(client-ip=2607:f8b0:4864:20::b2d; helo=mail-yb1-xb2d.google.com;
envelope-from=yury.norov@gmail.com; receiver=lists.ozlabs.org)
Received: from mail-yb1-xb2d.google.com (mail-yb1-xb2d.google.com
[IPv6:2607:f8b0:4864:20::b2d])
(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest
SHA256)
(No client certificate requested)
by lists.ozlabs.org (Postfix) with ESMTPS id 4YjB5b5m6Cz306S
for <linuxppc-dev@lists.ozlabs.org>; Wed, 29 Jan 2025 03:46:59 +1100 (AEDT)
Received: by mail-yb1-xb2d.google.com with SMTP id
3f1490d57ef6-e587cca1e47so3804117276.0
for <linuxppc-dev@lists.ozlabs.org>;
Tue, 28 Jan 2025 08:46:59 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20230601; t=1738082817; x=1738687617;
darn=lists.ozlabs.org;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:from:to:cc:subject:date
:message-id:reply-to;
bh=3kAK//hhU6+Dq+Mdh8OblTFhw6zLSUBb3rmm8+LJHLw=;
b=eWeuAqUOmYE4suXR5hgBd9xngqQA0/kgx6+Wpk8lZo4PUXyg0347WAY13I/hfxbjdv
TPd0RCmTasijgeqU3nrtlv38iMUUb3qXqRzon4MPKgfGBD0Vy7sumVC+k51NeC32Cbhx
//jwu2L/e8ZlHOBfodagTczcgZkLbWQ41toacCCebdLS5nqLo6DclyNUsLDHkQARhhbP
GjXFYm452JjBfPBf6i5BjlKuGxrXToacAuBDG20j37hF/SJG5U8rmsbwMILhjnuoXCoL
O564qJQw1zUCoI3p2UNHbWOEgaRxqdRGCGWGtd/o24vGFKpNbVRyQU0m6ofUTwb5mgKe
59yQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20230601; t=1738082817; x=1738687617;
h=content-transfer-encoding:mime-version:references:in-reply-to
:message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
:subject:date:message-id:reply-to;
bh=3kAK//hhU6+Dq+Mdh8OblTFhw6zLSUBb3rmm8+LJHLw=;
b=wMDCjS4IHvTiYJwQ3UImHrFQBfq3DSr95W/2Wyzot0LspaC2OJN2pF0g+BNulPZShT
10iIvtXlbPwjVFrkfh0iaA29MxKkb6s++pobenIeuNE6EeKy9oDXTzQfxatN4QCMaU9B
gjaI0CWL4z1s2X2gHrEAdUkQAEgdKSR2/ERo6bP5Rid8KSJsoRAzRpyznwIDFnEuu+ru
guoC8Qx/JzF6mge8RIb2aNbYknyyw2mSLqdxypESWBWAEcavbMfNZcDytz67p/i62NiS
ztlP+sFUb3tbDTUgCfZ9m+EWgAiyc3w3K4OWp0NanhjLmL0XOO7usfBNuJQFedJzTbHJ
Fbzg==
X-Forwarded-Encrypted: i=1;
AJvYcCU5WU0xHF6dA8EkBcI5QqavAHUAJCqxoitfVGuh453gayBI13aBgfJN3S9RZ6kquxQhN1AIAiQs8mYdBBs=@lists.ozlabs.org
X-Gm-Message-State: AOJu0Yz2U9i3O6s1Irk9TFCxB0MSroYpgJ28NXe4KOeVWqVJRUR1LCvn
5kQMF3Ckh90fKTXb9ePxdP0Eyqlt2r6o5L0e9hqGpJwnT94ZB9uDWbm+nho9
X-Gm-Gg: ASbGncvbAZXg8gAaY+/mvMHc9HPuYgJM9lcXLn7PX22CWu6EOrwfcRE/Wc+oBkMBcc7
jF6fQlJ9K5ZuHl/O24wbWlF/8O5Ib7L1ulQknaF8dt2UoJTkiZfBX4QvCZW28jT0xGYOnb7p/HA
IuY3Q2K0oS9hBlTEp6uKy9qMZV0NPQw7jyv518IMqHdZJRWM/QIM5euTtAf21QZvktcujIyUKTp
qFo5medmzmIzhdgtKTqwg6NTFFmVgQ3WzDuLXp0zkP+qmv/JIRlY8Z9DbZn2Ma6mrj5s7a2r+Ae
aTcHv6xH3JtB7bojwqO+6rRO5t/F5ltzT20SdL4obdGVvR+znQrVoPgJ1mYQhw==
X-Google-Smtp-Source:
AGHT+IFW7liCvZfwJc8JoJlI08CvPzHqyyKv7ENkjy6al6FScVaGGIFgBwK+m6vuvZqvkWpayyjrXw==
X-Received: by 2002:a05:6902:144c:b0:e58:3990:3f77 with SMTP id
3f1490d57ef6-e58399041e4mr15154060276.22.1738082817272;
Tue, 28 Jan 2025 08:46:57 -0800 (PST)
Received: from localhost (c-73-224-175-84.hsd1.fl.comcast.net.
[73.224.175.84])
by smtp.gmail.com with ESMTPSA id
3f1490d57ef6-e583b8907bcsm2099719276.56.2025.01.28.08.46.56
(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
Tue, 28 Jan 2025 08:46:56 -0800 (PST)
From: Yury Norov <yury.norov@gmail.com>
To: linux-kernel@vger.kernel.org,
linuxppc-dev@lists.ozlabs.org,
Michael Ellerman <mpe@ellerman.id.au>,
Nicholas Piggin <npiggin@gmail.com>,
Christophe Leroy <christophe.leroy@csgroup.eu>,
Naveen N Rao <naveen@kernel.org>,
Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: Yury Norov <yury.norov@gmail.com>,
Christoph Hellwig <hch@lst.de>,
Rasmus Villemoes <linux@rasmusvillemoes.dk>
Subject: [PATCH v2 04/13] powerpc/xmon: simplify xmon_batch_next_cpu()
Date: Tue, 28 Jan 2025 11:46:33 -0500
Message-ID: <20250128164646.4009-5-yury.norov@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20250128164646.4009-1-yury.norov@gmail.com>
References: <20250128164646.4009-1-yury.norov@gmail.com>
X-Mailing-List: linuxppc-dev@lists.ozlabs.org
List-Id: <linuxppc-dev.lists.ozlabs.org>
List-Help: <mailto:linuxppc-dev+help@lists.ozlabs.org>
List-Owner: <mailto:linuxppc-dev+owner@lists.ozlabs.org>
List-Post: <mailto:linuxppc-dev@lists.ozlabs.org>
List-Archive: <https://lore.kernel.org/linuxppc-dev/>,
<https://lists.ozlabs.org/pipermail/linuxppc-dev/>
List-Subscribe: <mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,
<mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,
<mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>
List-Unsubscribe: <mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Status: No, score=-0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,
SPF_HELO_NONE,SPF_PASS autolearn=disabled version=4.0.0
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on lists.ozlabs.org
|
| Series | cpumask: cleanup cpumask_next_wrap() implementation and usage | expand |
diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c index 268859e4df87..1acb53aab252 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c @@ -1271,11 +1271,7 @@ static int xmon_batch_next_cpu(void) { unsigned long cpu; - while (!cpumask_empty(&xmon_batch_cpus)) { - cpu = cpumask_next_wrap(smp_processor_id(), &xmon_batch_cpus, - xmon_batch_start_cpu, true); - if (cpu >= nr_cpu_ids) - break; + for_each_cpu_wrap(cpu, &xmon_batch_cpus, xmon_batch_start_cpu) { if (xmon_batch_start_cpu == -1) xmon_batch_start_cpu = cpu; if (xmon_switch_cpu(cpu))
The function opencodes for_each_cpu_wrap() macro. As a loop termination condition it uses cpumask_empty(), which is O(N), and it makes the whole algorithm O(N^2). Switching to for_each_cpu_wrap() simplifies the logic, and makes the algorithm linear. Signed-off-by: Yury Norov <yury.norov@gmail.com> --- arch/powerpc/xmon/xmon.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)