From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from LO2P265CU024.outbound.protection.outlook.com (mail-uksouthazon11021116.outbound.protection.outlook.com [52.101.95.116]) (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 B9E241A3166 for ; Mon, 22 Dec 2025 01:42:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.95.116 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766367745; cv=fail; b=EJBt8A+UA2Xd5oGk3u9UeGp/H5NyzbpE49cMimnR7krDL/eAcCRl8kc1jDlDIX8z0CT3XOD8VqEDXSp/Urikbpk+mdY1OdbM24KHveBjVtL3iKLhxNYBmc8ygWO6I+gZGNgMTP5MawzNq7DnlZQGPesEs8uL999O2D1DnxQd2FM= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766367745; c=relaxed/simple; bh=UTgowTPoqrW8L+hGlKFuzo26HyUmvJs35iUb3/9hWEo=; h=From:To:Cc:Subject:Date:Message-ID:Content-Type:MIME-Version; b=Bg7Ej3VNS203c3lOWw/zsYFLKQ7S15WSfy2CbKDBn8GgWmrb7DfAErur3krlcmeS8tdbD87o5254e6nTt+xHXMGOUKpKEpHnUaxz3JREwpNSaE9TR2lLDZR6KL+XpQgB5nKfaXDjMUZyQ7bdSnAwYO0kxMqmhJFCfvldQNxI5zo= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=atomlin.com; spf=pass smtp.mailfrom=atomlin.com; arc=fail smtp.client-ip=52.101.95.116 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=atomlin.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=atomlin.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MwziMAhZOxNISJIXqe4OGk2GMejHLnfxiydX/FvoOu0WqfNQG9nkfw7AosWHvCi5z9dN0JrCQ5LnVJWhhYshBVwQZHnEIjsWAagIQ97KQVbfy7FJAJwcljc9TkZcjNAppDUmeH0DOt89XWZHV/5WraS8v81eGmAIDs18OAfhU5vOLabZxQX9xmuQ3D+GIkcIZJxPr0AOb87ZqxLbEqRpI4RU0PT5mb9VNeo1FOwRVGIP+HV/u2lvP4PjkJWVGG+5+CpUOLE6CHICYe4rTo9f54j6Kj6P+15Rq7KTWfRUQzvgK61K1ufR/6PLXMih2T+7LF5sOpt1AnoJB/J76pB3eg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=P68RcnFO7jh0uMllJydaVfvfaL/n1TK+oCIWcMe6x1g=; b=RdVlqgptAhPQevSdi1z/u48/Aullo3ThOdnt/INkm9Un5PigLYFmqlB7B5fLPBuoP+Ujb6125MnmoTgDnL30QA8Xb3pxKBJO22hRosJxDVa4Si6foFnmnxpTyhh75/2xMyoJbqeLG01+77X+B5I43SNQOQzZvGvzIQhiBQFfdpe9OqG3dqcu57HUVR3HZEVUKcCTVsjlMFnOUlbmJDkhep0o8791CMBREBYoxcy0G3KNzqOjaqFKAtMGAUq/pK46pzqpmubDnjDqIZvT3QTO+YOZv0qGYvh9ARLN6aLRFoYsIqLDnFkj+LnyXTK2RGLVbZtH+vJsD83CNyR+HPm8pw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=atomlin.com; dmarc=pass action=none header.from=atomlin.com; dkim=pass header.d=atomlin.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=atomlin.com; Received: from CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM (2603:10a6:400:70::10) by LO9P123MB7538.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:3b8::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9434.11; Mon, 22 Dec 2025 01:42:16 +0000 Received: from CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM ([fe80::de8e:2e4f:6c6:f3bf]) by CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM ([fe80::de8e:2e4f:6c6:f3bf%5]) with mapi id 15.20.9434.009; Mon, 22 Dec 2025 01:42:14 +0000 From: Aaron Tomlin To: akpm@linux-foundation.org, lance.yang@linux.dev, mhiramat@kernel.org, gregkh@linuxfoundation.org, pmladek@suse.com, joel.granados@kernel.org Cc: sean@ashe.io, linux-kernel@vger.kernel.org Subject: [v4 PATCH 0/2] hung_task: Provide runtime reset interface for hung task detector Date: Sun, 21 Dec 2025 20:42:08 -0500 Message-ID: <20251222014210.2032214-1-atomlin@atomlin.com> X-Mailer: git-send-email 2.51.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: BN8PR04CA0046.namprd04.prod.outlook.com (2603:10b6:408:d4::20) To CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM (2603:10a6:400:70::10) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CWLP123MB3523:EE_|LO9P123MB7538:EE_ X-MS-Office365-Filtering-Correlation-Id: d85daada-a8b7-4cb9-4a5b-08de40fb550b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?PG1AnkkzVZ11UMQ3HSiaJK2aOowGXv9qwVGlw0OH4GVTVjvUD9rnVPAqX+pK?= =?us-ascii?Q?h5C32VHeozUqdfl2yIUrAkFZmy46lG4pZGi3pbk8BNaQVyttU6UvZetA15mu?= =?us-ascii?Q?FlP6tjFXF/DvwvWL273jqYlhYD5HG+XKwpplFXAwfSUdcXBWFfmpGGETy78T?= =?us-ascii?Q?/DXdp5wLzVy2/JWQ14kvdJ+RRlbHgm7qVkZYTQsE5P3uGxX28ED9UiO7MBzJ?= =?us-ascii?Q?kh4Ag9YLcFysf9+ZvcPC+mAFgnJdr0uc/xUWvO1zXkcAEBVryBw98bQuVBO1?= =?us-ascii?Q?gouSm5UGGIOv+IR5XWssvfqHTXaUqrn40V+sdwNYeDQa6clXLhlaEh2dwFEl?= =?us-ascii?Q?47X21Mbl4KaF41MXANqTvUvllddIr5YLwy5sHGnyeZRCm0sdKh4LlXSSmxIJ?= =?us-ascii?Q?z2ivRFxXt7+M2qQBrFK1dqbNNz8hpxs6T2Ht+Q3pn8ChJs0INw7MDessrXpC?= =?us-ascii?Q?1x71Y7WzGPwtD3vE+qzRngTR25bQLev+Wu3YxKpD/TG13AIDjDKNDDa043jU?= =?us-ascii?Q?jd7ZYvnoZreMYA51/4hxhisJqlqeY+iYGauIs+qR8OSuliGCAIBo2XiSp2mz?= =?us-ascii?Q?jbvBRgpsjsxv3XDcf1AOq9iMPcacWuxEsxub0K0tJf7pje9ZwoULBESiCJ8y?= =?us-ascii?Q?xMQ4GT84iC/OrP2YC+fR8sMRDinecBO10M7X5pd/k5dru+zlFLhHJSUOq5Bv?= =?us-ascii?Q?tigzJJ5LROkR4cfNJP91DMG12yOpCiRQU3FmI2mC5PzaNXrBPflLrkkM3V2x?= =?us-ascii?Q?CA3QwSdj1yr3EJ3QkJENU7dDHkz3S1/9g/TPzTdaxNDhZvJis6mK4htdSMNA?= =?us-ascii?Q?9nHgFkZzzuBMseE/GP9P/yTUGWLTIbFoP1TnTjYMLgnfu4EPCNr7CYiviBnx?= =?us-ascii?Q?1rXlEqqbkON5qvUUw2A/XZmACVUSamDuGNDJtnvx19F1230UYD6mfG1du+aa?= =?us-ascii?Q?0r5mObzmgadfAwjKZXMTxBn8AJPGS9fqSPoQEeqvq/dZ7tGl9+GwsK95ZLhx?= =?us-ascii?Q?X/dkao8Q9s+nBmJgynQL7k+sPk1+z698B0VUo4AqgyyPr84Zvz+tgFZhzLRd?= =?us-ascii?Q?d+8VdBc66aTC+7wBfvqm5C2Epw3CXTdhegBGBcZjFpRzMAwyOD6aIADCy+Qm?= =?us-ascii?Q?8rV/M21TEveRNC9ZBG+Qya6ihPKnHqKKTSuSPNx6bsa/k8tdh85hCXlA70VE?= =?us-ascii?Q?GV+vizFlnsBygzBy9UOyP33WWpEH5A7R9lZ6rAMoErPOTVdOiETHSRbk4bRW?= =?us-ascii?Q?39WOUnQNbzgNroETfG7vA9+RICv2lJ4gnVVD93jTIyTs7QF6ZgrbaJ9vbB+n?= =?us-ascii?Q?gD0o1JlS6aeE3v5Zw+p2wGNlmfvSUXxDUHrKuOWIWQ6ujC7wJhfEHbo66yZu?= =?us-ascii?Q?jl38Z1KTxI3Zot8y0QPAtYDEpUZ3KeslFX1f+MpOb8humsfn6SRJBqQQsVoa?= =?us-ascii?Q?xOIb5hJ2oAeS079arhpiACUVyKd7aRuM?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?emFkkMqB+wTa8rEL+i9ogKdqjPLv368NdBiILEJpKvmpuHaK/yk8RGEkQJCB?= =?us-ascii?Q?a00J9U1q7gIaKCVObEQWkpfDvBUA5347jf0GoQAvCnwkvvorV6rekLdBGqVK?= =?us-ascii?Q?P/oJQLr93PnPQLZyf9n30haU5RUqOt52gMWyC/A+cOn584iHCzRuRKMWpyzN?= =?us-ascii?Q?GADU7lZ6koWoRaSHkRHqqX43exRX1WGAX0Ef//1Ts6ZVJpqM5hjrzv7zaJJg?= =?us-ascii?Q?FjyYQ8v7///nCcBDtrDHBXauFAL6b1iIV1KjsdY85CwKsHWV7xrmClA3tP62?= =?us-ascii?Q?DA0/ydiUccGUZ+ewWcgwwLtH5bS0axOyjZlty7ZsYLvg2RU0uQlz9owXawTv?= =?us-ascii?Q?GMAp6QyesX2NRJk3g6JioFJ3i+O7pd2wvfdQBJ1dWNSjC2OW08PWvxz8ugDb?= =?us-ascii?Q?VvWdeR6i6CD0uQ4GgwkxiLP0drDBkXH6bXaR2ype5Yvs0kpSulMUdkp9I9SZ?= =?us-ascii?Q?pp5QaL8mw/FtOAi+NqkH8301e0ILI7bZbxdl65LyL/SSG6DmfkgpmTZdf5jK?= =?us-ascii?Q?BmPWb4JweY75QMrTWqB9Yay4qbsPk2H4LdDCgg9es1ZemIf7yYb2PBIN7X1K?= =?us-ascii?Q?DUGfcsGQoj6CrljCS8iTsWd3Fd3y2eQVLCoVY4Zyzp3OgeCrNOzw889X/Dfx?= =?us-ascii?Q?PAGt8DUozEp/FQPhfBIOZXJ/Up4cXOMxZgOun0nd43NantTzj69+jk3Ug3vK?= =?us-ascii?Q?HLhmIkkv7Md561QymzXjwWUUl9oOPP3u2MvKuXtd6wlkUv6D8+0f480FGmQy?= =?us-ascii?Q?Z7njS7V7ZfO0m+JAIIHrM+VSD8Li9B+oXaDmUBEqbGhahuIlOzu86AH1c8ef?= =?us-ascii?Q?yTaEep/7Rmt4xVjYtapyP+HTJSvmlnL06iAM0V+pqaNEwgZ/g5QDykeaBrhA?= =?us-ascii?Q?wHArcs4nX4HVIexplXzdct0NNPuQxF35HWyDa49fbhUYg2G13GLSz6i7F5pY?= =?us-ascii?Q?K2TcM/qmdAe1+h+cOMzVcHidXPDfkJu21tc0rNlaJIqHTsKIiAfDvKSdqLie?= =?us-ascii?Q?e6b+z2SnjKKl73eJ9gm1y+tUpTQ2E0LHKzF1Sh7W1nBxerQuazCwvP9e3F1t?= =?us-ascii?Q?88LUQc1OhfJkwV84gFSFS2MiT9v/Xm89/Z4+WDkpnBzNQpuDk/+Rom3h/XHg?= =?us-ascii?Q?fMkv7iNiw2N8cTh2DI0Csh2MV8Pw0eRcOUmtoh+nq19dm2fu1OrZRrGHueQF?= =?us-ascii?Q?+iXF4Vk3z8DCWG14CbDoCRjlT+Q1q1xPE6hw9D8Pn3g3cUt2px5tPBLxGjTi?= =?us-ascii?Q?UCXUgHEuMIDJCmll9RNP6fQpjQv1RZll419LqlZj/C42G7ta5HQjbPqK6J5V?= =?us-ascii?Q?1+nhHbnmACXbE/5sZvOYriS5RqEfbfWIlsW/4P+vOEnDh+yl6kLh/aX4gzTE?= =?us-ascii?Q?Xyj1DEbvjwJB9up05hrIfDiZJPqjh4n4+/2XN30iH37rxHR2cOXUohOzbkCA?= =?us-ascii?Q?0bFRwtsDVtYoTJeXWhoBbhu0YCPy/mg9i8SJF/rkjYEeU27HRX/7R3G5ejgs?= =?us-ascii?Q?DhShd5LZJnuhfZ8ARmswpHMP+gpuW50bA2xDWKrCzCMFFFjaEyhv2t5fgr5R?= =?us-ascii?Q?KNSrsVYVJsSy3kVpaL3hebe+FLGKvyrgK0SFv68K82uRnsbooC3fz7kb2ZSI?= =?us-ascii?Q?ziBu/ECuqcBGZBKehFzRPtqgUzWD9o6b0C7JlHTkk5AjIlCypF5ubhxF/uKD?= =?us-ascii?Q?IjLLodRizpXtnMUk8wLgv+LdpsHpCfy9+307g7mFGKkXwVwuKbcmzUB6RWUG?= =?us-ascii?Q?y9VmrDbqdA=3D=3D?= X-OriginatorOrg: atomlin.com X-MS-Exchange-CrossTenant-Network-Message-Id: d85daada-a8b7-4cb9-4a5b-08de40fb550b X-MS-Exchange-CrossTenant-AuthSource: CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Dec 2025 01:42:14.5388 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e6a32402-7d7b-4830-9a2b-76945bbbcb57 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ZIDSnheNJdZpCCF5r5PHoMbEsmPAHGVdTmdALN37nJ5sGAC2jtX0LsBVZACAtYVWh3IntGrtT2MvDnRi5WngZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LO9P123MB7538 Hi Lance, Greg, Petr, Joel, This series introduces the ability to reset /proc/sys/kernel/hung_task_detect_count. Writing a zero value to this file atomically resets the counter of detected hung tasks. This functionality provides system administrators with the means to clear the cumulative diagnostic history following incident resolution, thereby simplifying subsequent monitoring without necessitating a system restart. The implementation uses atomic acquire/release semantics to ensure that diagnostic metadata published by one CPU is correctly observed by the monitoring thread on another CPU. Please let me know your thoughts. Changes since v3 [1]: - Use atomic operations to ensure cross-CPU visibility and prevent an integer underflow - Use acquire/release semantics for memory ordering (Petr Mladek) - Move quoted string to a single line (Petr Mladek) - Remove variables coredump_msg and disable_msg to simplify code (Petr Mladek) - Add trailing "\n" to all strings to ensure immediate console flushing (Petr Mladek) - Improve the hung task counter documentation (Joel Granados) - Reject non-zero writes with -EINVAL (Joel Granados) - Translate to the new sysctl API (Petr Mladek) Changes since v2 [2]: - Avoided a needless double update to hung_task_detect_count (Lance Yang) - Restored previous use of pr_err() for each message (Greg KH) - Provided a complete descriptive comment for the helper Changes since v1 [3]: - Removed write-only sysfs attribute (Lance Yang) - Modified procfs hung_task_detect_count instead (Lance Yang) - Introduced a custom proc_handler - Updated documentation (Lance Yang) - Added 'static inline' as a hint to eliminate any function call overhead - Removed clutter through encapsulation [1]: https://lore.kernel.org/all/20251216030036.1822217-1-atomlin@atomlin.com/ [2]: https://lore.kernel.org/lkml/20251211033004.1628875-1-atomlin@atomlin.com/ [3]: https://lore.kernel.org/lkml/20251209041218.1583600-1-atomlin@atomlin.com/ Aaron Tomlin (2): hung_task: Introduce helper for hung task warning hung_task: Enable runtime reset of hung_task_detect_count Documentation/admin-guide/sysctl/kernel.rst | 3 +- kernel/hung_task.c | 109 ++++++++++++++++---- 2 files changed, 90 insertions(+), 22 deletions(-) -- 2.51.0