From nobody Mon Feb 9 19:26:32 2026 Received: from mail-yb1-f180.google.com (mail-yb1-f180.google.com [209.85.219.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6F67B1DE4ED for ; Tue, 28 Jan 2025 16:46:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738082820; cv=none; b=HrSEd8hdw3LUQoPEq8MrBFDWr1vDJJLHik8YSLiTVNUQm0xA0izm6QHmp1ODGMoRQbvyboltZxR7potUSmyKAumdnMSXyWXU8RXqNVosGEFTKb/5meAn1hCnU4FB+h6QRCcENiWMM3neG9ZFoL6/wvZ75BFudq6m88R/2QHCqEM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1738082820; c=relaxed/simple; bh=IPR/8TFtpc7hWi5aq/5aduMVHU7PD/5Pr+r9XJFXqBE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sqlGd/1TN1RmvvARYBFjdvfJEB4NCZTI+7CH1eG8133aQ+w3SiydV7B2hkMQg5pUZMV09JyMfFgam24gppJAPFR6I2tVjUnDmT78wNfaBfZWhFp6vJxlbJxcmSshotzh+AZx0pZxqifX7dr4ZeXCux848FU6/yqAcSHLUV6UOPQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=LOCrBnca; arc=none smtp.client-ip=209.85.219.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="LOCrBnca" Received: by mail-yb1-f180.google.com with SMTP id 3f1490d57ef6-e399e904940so7850257276.2 for ; Tue, 28 Jan 2025 08:46:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1738082817; x=1738687617; darn=vger.kernel.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=LOCrBnca4ucNQenIiGeAH2j/zQRwUwhzuompCa9a28dcBbnchmWxYcVaXszjYTDDy7 yEMxlAIUTUdS0Iy8GD3IIk9g9KGejQ+wjC5xw7bDaKAYR2s+OnZst2HOJv3vzDq6Vq7a H8jLHE0aezw76ZAJkfEsp0l+FEBMUr0jeMGebrJm7VyJgena8Wnc6zmut+kDK0zM9PVj D2uK09tHfGSBWVLbr3nhSdNAuib+q/zkzv7jnY/wnFA3XUTrwX4vgQB8/RQZAFIppUXk Grvhf9V8hrSkr/9yVd+1EbH/oMaueq6yhDR0KHgJHvWDq4nDv3FkSA0oQ+dEccwtSCs1 lvJQ== 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=mnXiowmIWvxc6Fcn6Ed3RRmwdRm7PiwmNkblNEsfee/f2bnLBZOP4TyLJzZidjf+QL 0TK1CH/0YuJHil+HSlDQQdnCqxL2CFyMLtRMiZC04x2HN7W3NUdUCS2mv6Z/SMbXrl+0 SM5LvOwv9uKevsNmpSIcVfuNVQvEVvf/GTIe4xdaB9GoYSpJRNnmeWhq4G8/jgZF8gUU 0UCLuF6O3Ij4827F6ILekzsyWox7My2W0B/4ThxFG38VEYQKmhM2jp3aauNM5Ds72Zi0 NVekLZyrAfhctdvxv3cOpov46qGDeET0bFAH1k/BMmpWmUPqUe9ssu0N1h51Ct9v9tRV 0OIA== X-Gm-Message-State: AOJu0YwYUYWgViTWDlt3SbI3i/BeyUpNXxuwjXEqr7d5nplVB5U1vip1 aVdfV4f+x1QXjljV2B1kgycFAQ/aZMdvAypHItE5VWMmA0SWfeo9wFc8Zahi X-Gm-Gg: ASbGncsNbv5du8vh9d/5DfIJmQpHgm0upK35VKhv9cPntEQHU4BpdN5zUmaqzQ693pG nnOAU9Y70MgE3JlnFA4lUD91Hl/k960McUQPafdqyqLimIkX+SbzG3Da1CtYdPaKT3r2HGdVNSv jjjq2SzrjFHMfIUlNW6m4nlNBcgHTMLZs42Gy5TtzXnQhbd/xQCXv5U501r8g3j83jSk3hmh3I2 4p5jZNDsYdlq4cUfTydvhkMgJfUmNko6cmsSQrRFztFAJrFNO4E9rJLiIv89vWMAjMpfAlG0No6 pPFtmTvV1R/IOl6pOafRjPrdO/jEuIkElMPgntEbZlYQt89pB4fFyFYzpG1O5g== 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 To: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, Michael Ellerman , Nicholas Piggin , Christophe Leroy , Naveen N Rao , Madhavan Srinivasan Cc: Yury Norov , Christoph Hellwig , Rasmus Villemoes 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> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 --- arch/powerpc/xmon/xmon.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) 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; =20 - while (!cpumask_empty(&xmon_batch_cpus)) { - cpu =3D cpumask_next_wrap(smp_processor_id(), &xmon_batch_cpus, - xmon_batch_start_cpu, true); - if (cpu >=3D nr_cpu_ids) - break; + for_each_cpu_wrap(cpu, &xmon_batch_cpus, xmon_batch_start_cpu) { if (xmon_batch_start_cpu =3D=3D -1) xmon_batch_start_cpu =3D cpu; if (xmon_switch_cpu(cpu)) --=20 2.43.0