From nobody Sun Feb 8 21:33:48 2026 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (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 BFD3E31076D for ; Fri, 2 Jan 2026 12:48:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767358096; cv=none; b=rCNQRcggFhqfiWrBYRmvHQY+u/ycrsmDSNJVJaNLwCiEz91S3WJvn70t+9rBq8NIPL2k2oUx80odgJJpwgobk8ZdPmAdI663URN3QVgCcY+UT2bn5QUb1aqQVAqEvy/Kki2ncocINmIoyxC7PvP27Ad1SYjVb+7nwyTsOjVjkZQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767358096; c=relaxed/simple; bh=jdEUJMntGEFd7cE5QiX9Yfn2HykLvrnNHgPvBZSr33U=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=g2BPPzXwLzfr3nvGkxAR6dsC0zXaSHysBj0LXCKvswudhNWKOMR74bbRCZ81MfPjUneXW1aoXWJEENFBItWQwUhmLWxc5oAHYArp5yhIVPCHOPbLSEXk5zHfq2ojvEUCLB6wmILSCFJIZl7DA2cSygMej041IPp1CDhZmGp0Bm4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=Y3nWxRbN; arc=none smtp.client-ip=148.163.156.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="Y3nWxRbN" Received: from pps.filterd (m0356517.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 6020wsj0031634; Fri, 2 Jan 2026 12:47:57 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=+duluWjJAt4b/4NKg oMFJseTODiaLhPv14SNw+knMyE=; b=Y3nWxRbNSRkpKwslI6gts9coeV+lDuCZk mTgunsCtBwYNDfU5GC0N7YJrcQuv0NPgGlUHkpaAsUaguDdKdbv11yy9+5AmIP82 O/XIjo8lr6HYvoiYE8uUyW63E6bv0vaBurjhD5C6910cxrFql0rS9Ile/ahYyrak Lv1p2yemVG/0LGDB6ZxyCt3gUUTRu0DlSiWYWpjWCcRtZ7xOK8lk+d117fh3v8f8 MqwzfNfrvKL7rzfXjBC9MCaLAd7u1kIhbE07P1JsW7j7s7Vbs2dSFrVGjA4FDR08 6Iy6jqmPlQ2PayKhY7Aiv52OxqbGg2acPuYWQ9fWXXcFMq+0h+QAQ== Received: from ppma12.dal12v.mail.ibm.com (dc.9e.1632.ip4.static.sl-reverse.com [50.22.158.220]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4ba7657b66-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 02 Jan 2026 12:47:57 +0000 (GMT) Received: from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1]) by ppma12.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 6029wLS3012856; Fri, 2 Jan 2026 12:47:56 GMT Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227]) by ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 4basst6n8p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 02 Jan 2026 12:47:56 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 602CltZS50921898 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 2 Jan 2026 12:47:55 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E28222004B; Fri, 2 Jan 2026 12:47:54 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E97D820040; Fri, 2 Jan 2026 12:47:51 +0000 (GMT) Received: from li-7bb28a4c-2dab-11b2-a85c-887b5c60d769.ibm.com.com (unknown [9.124.213.170]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTP; Fri, 2 Jan 2026 12:47:51 +0000 (GMT) From: Shrikanth Hegde To: mingo@kernel.org, peterz@infradead.org, vincent.guittot@linaro.org Cc: sshegde@linux.ibm.com, linux-kernel@vger.kernel.org, kprateek.nayak@amd.com, juri.lelli@redhat.com, vschneid@redhat.com, tglx@linutronix.de, dietmar.eggemann@arm.com, anna-maria@linutronix.de, frederic@kernel.org, wangyang.guo@intel.com Subject: [PATCH v2 1/3] sched/fair: Move checking for nohz cpus after time check Date: Fri, 2 Jan 2026 18:17:42 +0530 Message-ID: <20260102124744.360872-2-sshegde@linux.ibm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260102124744.360872-1-sshegde@linux.ibm.com> References: <20260102124744.360872-1-sshegde@linux.ibm.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 X-TM-AS-GCONF: 00 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTAyMDExMyBTYWx0ZWRfX5aPJdHu/SNSX MGiWocBUuCfSIiVAhGruf76PfTTL3qbYNND0TaCjDXzoHGCtenkP20dHP5HBYa2mx9KrDQVwGq1 ggCMQoB/h6pO2SU2By7OUXFlUvG4i44YnqG5obn9pADIWelwam097pXwvBul63i1VdVfTK4bLlZ F/bN10Wtw9eNIK/lBWIeMa0JJjseW541gi50ha6cg0H/fhqr1YKiGviDcu9OL3WmBf3Q1Cz8lJt fK0b3u0z550JB8eJyq1JVDBCbyC/04Fv6FR4jjTqjF6xKbF51TtWXKp5qC02IS1RNvhKuJgZXOf n1aFQsvXhKfzko/NICfFlBQNxrKx1gM0BbV137lmcshxGX6hMbV1JB6r0JJnLRcmN/jrHoyPY7K lV7d0gIcL+XqTNj3Sim+MZcRptiLPoLFWqKe5zXETzJh7cNyY3a+Ds48SvZJx2CwN4XEYjhSE0u Ni7x6YfWrR1hQ/JFekg== X-Proofpoint-GUID: b2e3wZK2R6wuldKPVHTbuVO8owIL30ax X-Authority-Analysis: v=2.4 cv=B4+0EetM c=1 sm=1 tr=0 ts=6957be7d cx=c_pps a=bLidbwmWQ0KltjZqbj+ezA==:117 a=bLidbwmWQ0KltjZqbj+ezA==:17 a=vUbySO9Y5rIA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VnNF1IyMAAAA:8 a=JNbE4A9j0n_sWetgYuoA:9 X-Proofpoint-ORIG-GUID: b2e3wZK2R6wuldKPVHTbuVO8owIL30ax X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.9,FMLib:17.12.100.49 definitions=2026-01-02_01,2025-12-31_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 phishscore=0 bulkscore=0 clxscore=1015 malwarescore=0 impostorscore=0 spamscore=0 lowpriorityscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2512120000 definitions=main-2601020113 Content-Type: text/plain; charset="utf-8" Idle load balancer is kicked off only after time check. So move the atomic read after the time check to avoid the overhead. If there are no nohz CPUs and next_blocked has passed, then there will be one additional stats based load balancing which would set the has_blocked_load to 0. It shouldn't make a difference. Signed-off-by: Shrikanth Hegde =20 --- kernel/sched/fair.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 7377f9117501..cd1c78d2c272 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -12447,13 +12447,6 @@ static void nohz_balancer_kick(struct rq *rq) */ nohz_balance_exit_idle(rq); =20 - /* - * None are in tickless mode and hence no need for NOHZ idle load - * balancing: - */ - if (likely(!atomic_read(&nohz.nr_cpus))) - return; - if (READ_ONCE(nohz.has_blocked_load) && time_after(now, READ_ONCE(nohz.next_blocked))) flags =3D NOHZ_STATS_KICK; @@ -12461,6 +12454,13 @@ static void nohz_balancer_kick(struct rq *rq) if (time_before(now, nohz.next_balance)) goto out; =20 + /* + * None are in tickless mode and hence no need for NOHZ idle load + * balancing: + */ + if (likely(!atomic_read(&nohz.nr_cpus))) + return; + if (rq->nr_running >=3D 2) { flags =3D NOHZ_STATS_KICK | NOHZ_BALANCE_KICK; goto out; --=20 2.47.3