From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (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 AF15233985A for ; Tue, 9 Jun 2026 11:31:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781004669; cv=none; b=scN1/R12Etl0Ei5C2m4d5Kk+nWN+D1RNeiSuCuMe+/7tIFEagJ3Rlo4OKDubedJJ+MmRndIiuwiHQeCHnu+JIJBPTgFVVrJEZays2KT2OijF39j5Z/VmyEifv0f2m+jE088LQnUhYJL8dSDatp3ICH7p52JQhZWTYvRZCTZq5AM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781004669; c=relaxed/simple; bh=xLIh2kUTdJvwV597CsBQsKcOrEfa+2+WSeBf8G52y6U=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=CuRf48PMNkjnLWUXi+PMDsiPFwhxuB9bScvWWJrj+gLvRTQt2bl51Ls6qOipNEdINo0YaLRMZb7SehSsM/P/ZWO20zLjj2IiFeDd38SRc2uWf/Xpzcd9Y2DtT69HPU8G3tDSbz/zsjP0fWo2BHJtYRU2Dqv0c81++f7WCLDEDCc= 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=DKN7xATr; arc=none smtp.client-ip=148.163.158.5 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="DKN7xATr" Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 659439ds4191465; Tue, 9 Jun 2026 11:30:44 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pp1; bh=Pg85nI 0dowuvnLpNbAIA5J2HRe9vPckBodUqvsIXYss=; b=DKN7xATrQ0DWlOodM0pHx+ HZMRZWDrm/AhR+Y8UTjRUA8d32wIuFQ0ys+wHs5nMugXdkW3MCX6d6ohVIe4Fbmf rM+eFhpDF8BUa0uIM4XDmCKVFhLJYL1yasE+HlqrnfCS2oX18slYr92WOAGeTSrA XCHO/MK7vPLp+GDzWrT1u6a6OxMgs8edeiMDoSnE6N+qfiIJHciTy7MjtR+T5eNE fy0A/KTavRpVYfzzOUN34PWZSN3dE7ExdYRyrwcRhMGqTkp+FM9maqSfY3lKRtvN 4F9LBIU8d08MHrWMejufkZZVIcHSCHWKQXvsFnrJYZwgWJ2Ijc6osOAxNgl9jnUQ == Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4em8yhuv4w-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 09 Jun 2026 11:30:43 +0000 (GMT) Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 659BJlYH002127; Tue, 9 Jun 2026 11:30:42 GMT Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4emych1nbc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 09 Jun 2026 11:30:42 +0000 (GMT) Received: from smtpav02.fra02v.mail.ibm.com (smtpav02.fra02v.mail.ibm.com [10.20.54.101]) by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 659BUca161473246 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 9 Jun 2026 11:30:38 GMT Received: from smtpav02.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9A0B92004B; Tue, 9 Jun 2026 11:30:38 +0000 (GMT) Received: from smtpav02.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 216B420040; Tue, 9 Jun 2026 11:30:29 +0000 (GMT) Received: from [9.124.212.126] (unknown [9.124.212.126]) by smtpav02.fra02v.mail.ibm.com (Postfix) with ESMTP; Tue, 9 Jun 2026 11:30:28 +0000 (GMT) Message-ID: Date: Tue, 9 Jun 2026 17:00:27 +0530 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 09/20] sched/rt: Select a preferred CPU for wakeup and pulling rt task To: Peter Zijlstra Cc: linux-kernel@vger.kernel.org, mingo@kernel.org, juri.lelli@redhat.com, vincent.guittot@linaro.org, yury.norov@gmail.com, kprateek.nayak@amd.com, iii@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 References: <20260514152204.481115-1-sshegde@linux.ibm.com> <20260514152204.481115-10-sshegde@linux.ibm.com> <20260609112505.GC48970@noisy.programming.kicks-ass.net> Content-Language: en-US From: Shrikanth Hegde In-Reply-To: <20260609112505.GC48970@noisy.programming.kicks-ass.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-TM-AS-GCONF: 00 X-Proofpoint-Reinject: loops=2 maxloops=12 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA5MDEwNCBTYWx0ZWRfXwy92QKYQuOMn Z95Tt3C56qhyCnQ3dpuj/x+NYTExMQ7mPyImrFBUG35widqnQJe/kqzDMejY2DVkDzBQRfBm6BN j/LIbEKGdquB4z5Mg9IiH5dHSU/GLp+iMxfxPYaol4uCnjx7T4xJecZFSTX5i790z0L1JUfZcoM YzCSBmVNKHU6O1c4YZ2y27U6/2xiQ1L814qNSDIL8s6Woztn1AlqDyMANkCyPIUia1Nxogv395J 9Y2F5uRhgJA74VepYEXIh8nanE42wq95UCyoPz307QKHvpQzXhgM1uKMg/sgP6vWldaPvVXTk1H /nf8GwGDYnHk+JwmvZLnUXq2v/l9/7YMjyL8aacizuIQFmAD0DlIbtIM1AbYsOG/IY4aIdAmStY lKbk6bfSRaGQjbCUOZMrxzeozNDHtzH8H2ohRD53y7j78EqzgAHeC4wocezVrGvvog8jMCzK1iN po9RKofOPgkjXrX4QSQ== X-Authority-Analysis: v=2.4 cv=HvFG3UTS c=1 sm=1 tr=0 ts=6a27f964 cx=c_pps a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=Y2IxJ9c9Rs8Kov3niI8_:22 a=VnNF1IyMAAAA:8 a=kJkOGfuQsPzuMFcQKo8A:9 a=QEXdDO2ut3YA:10 X-Proofpoint-ORIG-GUID: gg-evR_oJ4M06EJ8tNsECGPWDdU_8qZT X-Proofpoint-GUID: 8GULOF4ERFN_rf9e1GGWGvzdnNfZgEXM X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-09_02,2026-06-09_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1015 lowpriorityscore=0 adultscore=0 suspectscore=0 spamscore=0 priorityscore=1501 phishscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606090104 Hi Peter. Thanks for taking a look at the patches. On 6/9/26 4:55 PM, Peter Zijlstra wrote: > On Thu, May 14, 2026 at 08:51:53PM +0530, Shrikanth Hegde wrote: >> For RT class, >> - During wakeup choose a preferred CPU. >> - For push_rt framework, limit pushing to preferred CPUs >> - Pull the rt task only if CPU is preferred. > > So this one might have the potential to break things. Preferring a > preferred cpu, sure, but to the exclusion of active, perhaps not. > I don't think we are excluding active. > Also, where are the DL changes? DL changes are not there. The reason being on such systems running DL tasks will not make sense as timelines are subjected to vCPU preemption and there is no easy way to force run a vCPU. RT is not a primary use case too. But have seen a few workload spawn RT tasks today. So it is there. > >> Signed-off-by: Shrikanth Hegde >> --- >> kernel/sched/cpupri.c | 1 + >> kernel/sched/rt.c | 4 ++++ >> 2 files changed, 5 insertions(+) >> >> diff --git a/kernel/sched/cpupri.c b/kernel/sched/cpupri.c >> index 8f2237e8b484..24eb26ea9a91 100644 >> --- a/kernel/sched/cpupri.c >> +++ b/kernel/sched/cpupri.c >> @@ -103,6 +103,7 @@ static inline int __cpupri_find(struct cpupri *cp, struct task_struct *p, >> if (lowest_mask) { >> cpumask_and(lowest_mask, &p->cpus_mask, vec->mask); >> cpumask_and(lowest_mask, lowest_mask, cpu_active_mask); >> + cpumask_and(lowest_mask, lowest_mask, cpu_preferred_mask); It is both active and preferred. No? >> >> /* >> * We have to ensure that we have at least one bit >> diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c >> index 4ee8faf01441..62c53f10de24 100644 >> --- a/kernel/sched/rt.c >> +++ b/kernel/sched/rt.c >> @@ -2262,6 +2262,10 @@ static void pull_rt_task(struct rq *this_rq) >> if (likely(!rt_overload_count)) >> return; >> >> + /* No point in pulling the load, just to push it next tick again */ >> + if (!cpu_preferred(this_cpu)) >> + return; >> + >> /* >> * Match the barrier from rt_set_overloaded; this guarantees that if we >> * see overloaded we must also see the rto_mask bit. >> -- >> 2.47.3 >>