From mboxrd@z Thu Jan 1 00:00:00 1970 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 96AF5426D1D for ; Thu, 14 May 2026 15:24:27 +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=1778772268; cv=none; b=Iuf3Yk5q4d+JU31uPYip2FZZfYKAJiTy3z6JCxBVux8+rXS27iciFKrdm74s7YCV73ir9KXyEEkzME6tZCjmsDPU2kVFs8zE5T/Kmf9djzHcCXHAtQhpNrcyyCzqhzBnmafl7qJZuQTA/eIIVWWCgoOSkQdMb+mk6p7dezLd1Xs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778772268; c=relaxed/simple; bh=Apoh5CjAe65nfwMwlgvczSmECc3r+00F0XU5oT+S3pQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RMcYYGHzlaxYAo0eFn6UBgyrenCDGabpLbCBz4Xi8XyYwlTJSpY3pn9KRJZluMLnuToyh4cfI8VQHOO5eARTm5OfY/RcNkaVkrUgMPd0ISpoqZ970SgqSjMudg2FhyfuzuefLWaxNYV3nzf/5XzKlAiqzSQefcZwpqyo1TbHwsQ= 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=dCF8RYpn; 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="dCF8RYpn" Received: from pps.filterd (m0360083.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64E7wxSb3185718; Thu, 14 May 2026 15:24:06 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=nzVv7cfMUaTRT2Suh xdCXdPuq1ykLne1IUb1AGkRbHo=; b=dCF8RYpna2AURv5GAVqbmh9DfoUQXpt87 FcEEvPZHeepGP1Imm9QwzYyTv+IcXUbMlQCs1i+CHBErV7dJPp8nyhfsW1T/5D0T 6FTcR+bMY8gFXo/8CngBtJrPbt7IXQQfJz+0hxs7p3vfYM3fkOqbZI5NxycZO9if k7p+oq1VtMwRI+PbG3/tdCiUe5nvBEc86aAmoo7MWa99+HP/gOXHM1In52u0GWje KwPwtjSSdrp7cYQIyGlIw26NMA0MOHur86QSn61nZU83D0qB+krzez8C83Nx6fgG O0V6l18zBYp1r4twG0zkVS6iaO+kKJprs0XZ342eDA/4FbEM4CVaA== Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4e3nv5n5ma-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 14 May 2026 15:24:05 +0000 (GMT) Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 64EF9XqN024587; Thu, 14 May 2026 15:24:04 GMT Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4e3nfgvxn3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 14 May 2026 15:24:03 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com [10.20.54.100]) by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 64EFO0ir46399868 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 14 May 2026 15:24:00 GMT Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1BA932004B; Thu, 14 May 2026 15:24:00 +0000 (GMT) Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0735620040; Thu, 14 May 2026 15:23:53 +0000 (GMT) Received: from li-7bb28a4c-2dab-11b2-a85c-887b5c60d769.ibm.com.com (unknown [9.124.213.185]) by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP; Thu, 14 May 2026 15:23:52 +0000 (GMT) From: Shrikanth Hegde To: linux-kernel@vger.kernel.org, mingo@kernel.org, peterz@infradead.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, yury.norov@gmail.com, kprateek.nayak@amd.com, iii@linux.ibm.com Cc: sshegde@linux.ibm.com, tglx@kernel.org, gregkh@linuxfoundation.org, pbonzini@redhat.com, seanjc@google.com, vschneid@redhat.com, huschle@linux.ibm.com, rostedt@goodmis.org, dietmar.eggemann@arm.com, mgorman@suse.de, bsegall@google.com, maddy@linux.ibm.com, srikar@linux.ibm.com, hdanton@sina.com, chleroy@kernel.org, vineeth@bitbyteword.org, frederic@kernel.org, arighi@nvidia.com, pauld@redhat.com, christian.loehle@arm.com, tj@kernel.org, tommaso.cucinotta@gmail.com, maz@kernel.org, rafael@kernel.org Subject: [PATCH v3 07/20] sched/fair: Select preferred CPU at wakeup when possible Date: Thu, 14 May 2026 20:51:51 +0530 Message-ID: <20260514152204.481115-8-sshegde@linux.ibm.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260514152204.481115-1-sshegde@linux.ibm.com> References: <20260514152204.481115-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: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Authority-Analysis: v=2.4 cv=cPHQdFeN c=1 sm=1 tr=0 ts=6a05e915 cx=c_pps a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17 a=NGcC8JguVDcA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=iQ6ETzBq9ecOQQE5vZCe:22 a=VnNF1IyMAAAA:8 a=j9sfLVbiRzlE9PmvVxMA:9 X-Proofpoint-ORIG-GUID: NwBuW-RWtvqcIr20SegexxpyzIS8hFwo X-Proofpoint-GUID: iFywkw3rSGirHwJobKkjxwZds7vhmpy5 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE0MDE1MyBTYWx0ZWRfX1mBTZJeiUBy/ V+TZCX0hvvl7366b3MfV3uCgTmtur+WHKcPNgQqtBgIy6+D0e6AOvWpS86zpex/vtv3K3j+8oKX o6l9dJDmRlD6lCM3xOzwLGozJmJrrE4qtRpEKWZQXIjDPxJbe78fSRCAVm2jHi0qjuD8BV3xm3J wLXq0jYueQyfKumviPBJ8jd1hNurw4m/hv01WOHAdHNrDqvzn4OVrffstoIZ4zYLawu6OwJL1Q5 cSnmfoDaFabL9pDdGUjKVlnzdZEUbcgINAsevjehdJjngdNKCZ8j/bHbnTxpU5nrMsWAQTHCy/w eIo1fD0e7MWiBVd8+j7AzqEyDUrJXOueSmjA8k/yXt9uxx0PmRb85H+g5Ya6dHatZtt62WFPzdd DmZU3L4VMTFanc5w/eGqi0NNA+AtHPUKatKlLtCC6A7ruRwXfTMIqsLKknvClriCm2gLH8YgR73 W5nvNuUOHOUC/FSePsQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-14_03,2026-05-13_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 phishscore=0 clxscore=1015 spamscore=0 impostorscore=0 lowpriorityscore=0 adultscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605050000 definitions=main-2605140153 Update available_idle_cpu to consider preferred CPUs. This takes care of lot of decisions at wakeup to use only preferred CPUs. There is no need to put those explicit checks everywhere. Only other place where prev_cpu was not preferred and could possibly return was sched_balance_find_dst_cpu. Put the check there. Signed-off-by: Shrikanth Hegde --- kernel/sched/fair.c | 3 ++- kernel/sched/sched.h | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 29fbb5287cfc..a704285ac55a 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -7743,7 +7743,8 @@ static inline int sched_balance_find_dst_cpu(struct sched_domain *sd, struct tas { int new_cpu = cpu; - if (!cpumask_intersects(sched_domain_span(sd), p->cpus_ptr)) + if (!cpumask_intersects(sched_domain_span(sd), p->cpus_ptr) && + cpu_preferred(prev_cpu)) return prev_cpu; /* diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h index faf36bc7bd12..90743b9e5add 100644 --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -1418,6 +1418,9 @@ static inline bool available_idle_cpu(int cpu) if (!idle_rq(cpu_rq(cpu))) return 0; + if (!cpu_preferred(cpu)) + return 0; + if (vcpu_is_preempted(cpu)) return 0; -- 2.47.3