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 F3F7D332EDE for ; Mon, 8 Jun 2026 17:38:30 +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=1780940312; cv=none; b=KngbPAzi9DDBRKFq5e4uvvqNRVwByWpNSz1dBotLNiOy1FR0lgLQDhI1Yk/sADNpbT2yTM6XXIcrQeCwUHfMDXnauwJ/f+ZHzNRIR7dXMP3jmWiNreKMAzr/+a1ZppqfGBm/vufCxd63aRSRsGxDPXw4OP9Wa8l6lQD4Pf0d7L8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780940312; c=relaxed/simple; bh=0V3CzoV4ODyMLO3Q25rb/JZvAvh4tNTaJEIWd3SHfRk=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=D9VRfTUqcK5WDWKsPgKxeBa3Qnk3UDP0bKGirtOYAYz1zRfkawIfMPstUMubFBIrzS8stVv/DRflpCYuTvX2qNmQ2UBUnsDIAEqc50GoFKkJ+75ZtgkK7LfcmFmJ825guShQpmOD2SZ7jNWUIsJJOYN9IcuNXVAbNwrN9KLgJIM= 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=SC8nfllS; 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="SC8nfllS" Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 658Ei6DC3398572; Mon, 8 Jun 2026 17:38:03 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=g25UU/ 5Z0QgJ97LQjMKGzG+65Unzgd7K30LBQmqpYZs=; b=SC8nfllS6B6RVve/aAm+of A0ZWBSyUPiwoJ+Vg3Cy7biLkK22UESrgXCMxgXaseIi6l9Obs57Kihszdddo9cb7 eoFysdJojTf3QKWJWN+rWZdGdf6k8fz9U6qtTBlZ/72z9R9Z6hy4yV+ZJVC3ogNa tgSCgTX34OCmErePZMFKXfzq7iHbgxclsbZ4Ib5kCVgz4mlXtQmGronIsU92RQVV /PAKUREr2vPudbEz5KjKfQiOD9OYmoDZrK8j3Nf5H0W6Lqb/6jtX1fhAdRfMv9Kp SUF9Zj0QQfel2RFlr1J/m14E4rD4F+gTelc9oKnJUTBGTWb6XVqjbDHG1x3hzqNQ == 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 4emb7qgguh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Jun 2026 17:38:02 +0000 (GMT) Received: from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1]) by ppma12.dal12v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 658HYfhd007528; Mon, 8 Jun 2026 17:38:01 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 4emwvpxjvc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 08 Jun 2026 17:38:01 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (smtpav06.fra02v.mail.ibm.com [10.20.54.105]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 658HbvcK38928888 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 8 Jun 2026 17:37:57 GMT Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id AA8A320049; Mon, 8 Jun 2026 17:37:57 +0000 (GMT) Received: from smtpav06.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id CC91520040; Mon, 8 Jun 2026 17:37:55 +0000 (GMT) Received: from [0.0.0.0] (unknown [9.111.15.218]) by smtpav06.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 8 Jun 2026 17:37:55 +0000 (GMT) Message-ID: <1bc9ec5b-46d1-4e07-b9a1-82fd7fdee582@linux.ibm.com> Date: Mon, 8 Jun 2026 19:37:55 +0200 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 14/20] sched/debug: Provide debugfs to enable/disable steal monitor To: Shrikanth Hegde , 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 Cc: 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-15-sshegde@linux.ibm.com> Content-Language: en-US From: Ilya Leoshkevich In-Reply-To: <20260514152204.481115-15-sshegde@linux.ibm.com> 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-Authority-Analysis: v=2.4 cv=HppG3UTS c=1 sm=1 tr=0 ts=6a26fdfa cx=c_pps a=bLidbwmWQ0KltjZqbj+ezA==:117 a=bLidbwmWQ0KltjZqbj+ezA==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=uAbxVGIbfxUO_5tXvNgY:22 a=VnNF1IyMAAAA:8 a=_UOBtEWHNwjfI8wcr-AA:9 a=QEXdDO2ut3YA:10 X-Proofpoint-GUID: erJRlQq2pOIsVwHxxbpF6AempzNhQQaz X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA4MDE2NiBTYWx0ZWRfX0hnNLgoHGItt Gb2JrG0Kia6soTu/WwWDLR08qHE+yB0GDD0gd9IZj6B+KPHYpkYesXOQyX/QFSBS54uqLM/eCQG BhnpeBiA1//DTSlxk0ugbBoFc+z0A8iT6RwnCfvXmU7Rog326hQm9BxThAXk5wj+gMV1zLmSdyx 0TaGXFj/NYDJeVYnnZzEbcjP82T8FCoDS4QdB4VxPvpmPnVJEz/ZUcXOG7q60MGjT2ry7/d3ZDu hhMSpryi/G/sw0EjimbIqrhP7S8WXfILq24+Bw6ObhdQhOfcoSM9EB3YkWf7l74fVrwPVohWwS1 X8LzFgAGOilXxFxJs1mH5F0Q8IPhZDWrxGPArF9OTQHIqP9NT4ToVeoi5VTRJngQ8RpjoARwqdH IS3WKWfwl05YfTUjeiLY47zmmDfwcDPmWle3VSdOcBHQ3+UQZ6FnpxQER3RJH6CmnNTcfc6e4EY iP2vDtH0l4d0q6+FfUg== X-Proofpoint-ORIG-GUID: orzJji5Zp1jKaGKwTPJTv-dR5h26zldh 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-08_04,2026-06-05_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 adultscore=0 phishscore=0 malwarescore=0 impostorscore=0 priorityscore=1501 clxscore=1015 bulkscore=0 spamscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606080166 On 5/14/26 17:21, Shrikanth Hegde wrote: > Add a debugfs "enable" file to enable steal time monitor. > > Computing steal time and acting on it periodically are to be opted by > the user. This helps to avoid any overhead when the feature > is disabled. > > It is disabled by default. > > Signed-off-by: Shrikanth Hegde > --- > kernel/sched/core.c | 1 + > kernel/sched/debug.c | 29 +++++++++++++++++++++++++++++ > kernel/sched/sched.h | 2 ++ > 3 files changed, 32 insertions(+) > > diff --git a/kernel/sched/core.c b/kernel/sched/core.c > index 0d1995c65ce6..1533a44d1a6b 100644 > --- a/kernel/sched/core.c > +++ b/kernel/sched/core.c > @@ -11270,6 +11270,7 @@ void sched_change_end(struct sched_change_ctx *ctx) > #ifdef CONFIG_PREFERRED_CPU > /* npc - non preferred CPU */ > static DEFINE_PER_CPU(struct cpu_stop_work, npc_push_task_work); > +DEFINE_STATIC_KEY_FALSE(__sched_sm_enable); > > static int sched_non_preferred_cpu_push_stop(void *arg) > { > diff --git a/kernel/sched/debug.c b/kernel/sched/debug.c > index b1abfdc168bf..be8d223b43fd 100644 > --- a/kernel/sched/debug.c > +++ b/kernel/sched/debug.c > @@ -592,6 +592,33 @@ static void debugfs_ext_server_init(void) > #endif /* CONFIG_SCHED_CLASS_EXT */ > > #ifdef CONFIG_PREFERRED_CPU > +__read_mostly bool sched_sm_wr_enable; > + > +static ssize_t sched_sm_en_write(struct file *filp, const char __user *ubuf, > + size_t cnt, loff_t *ppos) > +{ > + bool orig = sched_sm_wr_enable; > + ssize_t result; > + > + result = debugfs_write_file_bool(filp, ubuf, cnt, ppos); > + > + if (sched_sm_wr_enable && !orig) { > + static_branch_enable(&__sched_sm_enable); > + } else if (!sched_sm_wr_enable && orig) { > + static_branch_disable(&__sched_sm_enable); > + cpumask_copy(&__cpu_preferred_mask, cpu_online_mask); > + } What if two userspace processes write to this debugfs file concurrently? I think __sched_sm_enable and __cpu_preferred_mask may go out of sync. [...]