From nobody Wed Dec 17 02:25:44 2025 Received: from CWXP265CU008.outbound.protection.outlook.com (mail-ukwestazon11020128.outbound.protection.outlook.com [52.101.195.128]) (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 A68FA274FDB for ; Thu, 11 Dec 2025 03:30:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.195.128 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765423820; cv=fail; b=bMDb26qlusg8Q7xCillzPZMRk+6xrSEF0TVEa+eM0iC0Yj0pDnAeP+4FqDk5vqHpVJ33S7CSXBpiQ9SwUXNX/5kjW1bxe1DvbtpLYsQFVWIByFC2UVVVlGOW0rR78pXcnxshTcrMcWQf80XfvXwLJCvHlu9q8ZkKfuO/QYmtQ4o= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765423820; c=relaxed/simple; bh=oQGuoN5ceG3eat8LIdmbQTFjv1dTVGYmcEbaMMTXpH0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=r9uwN+PrmAkvTinITZphMwIkydEkdub69UOAqnUFaoc0NPVn8F+nvUSY/2+LmzVcV5jguEpT/6i3VxoFP00ARvi4vXtQMr/aLR/LYGWz7vn3ndnpzkg19AhdGOpGnCNkcGYSnwOEaNHa6CrrtrKznDq6oxpB9NrIy/LPBayVEOg= 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.195.128 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=qB7NjTYTCmk5LRwTCeOe3ov70R9T9ydG0bvppbyMylZty1txWmfSGkzhTvNzbfkuOrSWV9LvimBCtX4jMxZRLrjPNPZFA09aDaCMrSQnWJ9Ijf/xKeUoqK8XmG4Bz4X2i9IilVQnEJW7rziVsrrAc2rG2nvHFTBWYzYVp/XHrZuAjFcbvqXRme5aZLROZPHB+ynwRdCVcPanNI9WV9usSpoUbt3wA/ZrfFf/x4hExK2M8MhxoczG+JqNHcCS9ZOy9/Pynqhb21XDZAOMit3zrmNmZ/iasSED8L78fWlqykPtFHM5BrD5nluhT6EszDT8h/ZtMDNPWT4n2nPbNrjtVA== 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=PLYofCrADxnL1oxCkZg+2dLnT7Q23maRxHpAhpIjE7k=; b=yZiclriE30JvIcDySIOo5/K2BqH3OjA0wFmPqm/atgi/JoIVmDgSDHRNbzTSAGUfWPej0hhqs6uDopGT4qJgp9hMRWXay6ODpq1swRxsZiOqToGneJ/4Lln+8c5P5IEBlE84887c4pwSGibH+LGfnBsURalStHt6Y8eSwpmgTvGiIMiPtKpDNpS43kgvLhttKSLQy9jzCUY+l+sbg6RgLHuzz8jUGsKGT7EHvkCkXuNxFp5x46X0pUMzR8fssdeZCr1q+5Evpsj+a/Uu+PZWDiHtWEpMlwNiICzxppFFn/HENAA8tWejIwBBchNHcVMIj5KNuxC8pDCrQqIBNTusxg== 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 CWLP123MB3569.GBRP123.PROD.OUTLOOK.COM (2603:10a6:400:69::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9412.10; Thu, 11 Dec 2025 03:30: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.9412.005; Thu, 11 Dec 2025 03:30:16 +0000 From: Aaron Tomlin To: akpm@linux-foundation.org, lance.yang@linux.dev, mhiramat@kernel.org, gregkh@linuxfoundation.org, pmladek@suse.com Cc: sean@ashe.io, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/2] hung_task: Enable runtime reset of hung_task_detect_count Date: Wed, 10 Dec 2025 22:30:04 -0500 Message-ID: <20251211033004.1628875-3-atomlin@atomlin.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251211033004.1628875-1-atomlin@atomlin.com> References: <20251211033004.1628875-1-atomlin@atomlin.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BN0PR04CA0178.namprd04.prod.outlook.com (2603:10b6:408:eb::33) 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_|CWLP123MB3569:EE_ X-MS-Office365-Filtering-Correlation-Id: 727de445-5de9-48dc-dd1f-08de38659a18 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?WZoIhxL+TRKyEt4bLvIwtIPGmVtba68JDuHt/jULPYe4LnZFwEdenU5YP3Hs?= =?us-ascii?Q?6ifcaO3llqbcYjG+l8hV9C76q17zfTq1+vGadBKxzfSilk4Vld4eSG8wuiS8?= =?us-ascii?Q?EuEQe+1A5iFjEJKx93IbvK2l9neirBuQdyZMX2I3jLHtxFgQePcofyhH88S1?= =?us-ascii?Q?EasqxUhKxXRnWQtQivgRkWdEjwk+XsxJ019WxZkA8CWdPyPaZfNTksnzT6AS?= =?us-ascii?Q?msbjWgGE/eMRpyDqoH1tPLotdrGmyulzXWB5uxZYk0UG4m+RYVZsFcwgNqJY?= =?us-ascii?Q?hgeIsq19i0OMMZaK16mGbdM7DCnr4SZMOmUcVCmyjmyUsxrSLSjuaB4Gc00g?= =?us-ascii?Q?QVZE27x0gkfxdWNN4Y7ZnEl8HxSTGoCm8AxE3s7KjEDw/0krmtRX48kBN4yu?= =?us-ascii?Q?IX4IDHQXn/h8V1wfzkfagwLNDMwDwz467p6+6RYr4LUzYf8Oc7ic9eWDLTd7?= =?us-ascii?Q?kmKSIo0NTPddVFnuqCvrTDPa9erDSfZrwbUHU+fgsGnx5qZjB21a7YopiHH0?= =?us-ascii?Q?THnVa91BpVgwfMc3HY1+yjqX7SXA8kGhjkwwx+kpZvl02QZ1TXcqZs1O2DUY?= =?us-ascii?Q?NiRSlTeW48X/bEsG5ZbWo9eOZ6wwWgDERc3B8yipRKQOm2f8l87nWOYkR1XQ?= =?us-ascii?Q?quAlNSdxyI7TaAWNdFvstEmGVrvg8dAaGZBjR5E/vo2w2DWAl8RaL210UK3c?= =?us-ascii?Q?GWeLwOtVH1wz/LvXnED+f/fnOmDuuBg6nxHBEa+35Aklm6bQnVClnxaKlTtn?= =?us-ascii?Q?XOVCxg+IzVALod3DVELkR4+oTgzEYSltW/HPN5ZsssfZvcbR+sN/5KeLVHfr?= =?us-ascii?Q?89pDMa0+Nf7FUAOqUYd+qb0AmY5kocB72nar5erQcX9ECYWvix8X+Dz78kHg?= =?us-ascii?Q?8XZcXSH8rvSAdfnlBDX/lMGj/PoORRomMKZ3qgJtaO9QDgG72ZGrdixvoUmb?= =?us-ascii?Q?qZlqb1pKd0dI+qUYPJPksYPoTgfN1Pes8aDFFyG3WoslZjQp2Z8t3cYML9hy?= =?us-ascii?Q?UyzIDZEChqdPjNnfPhSmOcWH2vAzwADeHOgOQsY1jpLcYmwMQ3dDJLbG5X5K?= =?us-ascii?Q?CPcqxDBdOcR/pjg+58wZ9wOGaS+NTHIO3bp3u4sxmnbOBTX31lLuIQBOze6h?= =?us-ascii?Q?ioB4xXpt598EIUifGi68s23WPKu/2R1HA49bUhjMGMO5gPdDiGknm5Nw5UFO?= =?us-ascii?Q?pwG84hyczq7xbFxl0hwnJygBQF5Oob21zYEmYnRTsSeqvyb7eZrA9cp7myje?= =?us-ascii?Q?l3RFgJhgOQun+sSPqQ44T8KUVpd6G7Oilu0EygV5/8z9BqMQNZ70/MHI8rak?= =?us-ascii?Q?3RcpKY0aCY3yM9+uWEJlGA6g9bF5ekbIrBMpDNyEhEyZhFEbQq/+0x0v4be2?= =?us-ascii?Q?X738jxXtlIpQoEu6GfcjKcGfBjrtG7R3xiw56QSDcTzLF/YM9yoP8FruzoDa?= =?us-ascii?Q?hwfpE9ne8q7YTNmURWQZyCYOlRzpm/5V?= 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?immy4jDYWQcOvSKSkrE/RU5yJuu4cUAK3RSQQKv7mlXlmxA7+FwNg9YUybUM?= =?us-ascii?Q?RUUHIHwXp4/v0UCspaNmLyDAsnamQs/TU1cFIvJj1C1trOC6vcMSMJYCXsBO?= =?us-ascii?Q?RWN5gPtuA0Q5ABzsaTkoMqnav0scmSOr4o/hW32TzmeE4eohk+3s7H7pNTVC?= =?us-ascii?Q?Kqi7yqPdHjzWhRTXXIey9QNdHf0JGzRZ9QRQw9sdbkDd7Tz0zDOvnlH3Il36?= =?us-ascii?Q?TfAwmvsQyqLqRQj9Oq9VCiAHwp9eZe2aUcaTqimN1GaKWH+rdl9iplArTQxX?= =?us-ascii?Q?bXdxaRKwlhCN04cQTeVt2r3fvhWloTmgPHmvYU6XxGkC9thhNgBIiMc3dTF+?= =?us-ascii?Q?cm/YJqg7CKn3mu9SIc63m5S6U0V19BgxnZbpGThWXRz1PQhug2BKyYrkOweA?= =?us-ascii?Q?Mr45V1a2Btz91G8FSQmtP3giYXKqQqW+fNLrekAoNCnAu/MyiQCdRsQa4afj?= =?us-ascii?Q?wZCpdz5LXEZG2234MeHrR+RtkbmvU0ewzKQgBpWVlyzar2Mgl1C506C+QxuX?= =?us-ascii?Q?lhIk1wxmJzEY74PunYPNbaaJQG6k+rkH4MecR/AmjR1kaxUnqWHvcgOuCJpe?= =?us-ascii?Q?MccbX0Ud1x13bm6mS9FdQI5P7uIj8ZxfDTNHTJhfAvcx0VW3fyJ+7gXvjbeG?= =?us-ascii?Q?NjwzcDc5EfTmS7D+tvZuI7gNPD/5ezY1l57T9LROtayBEh8xVokZGSsOoSwN?= =?us-ascii?Q?IRMCbmhz5UZe5RHHRXbqBmz3Wo1nbjcjQgzDbf4iAt9rysRT+XqgeTrAuTdC?= =?us-ascii?Q?3qHmYUmzbBqow6mkkVw4qO7ss6RYk1pJJZY0QWyXEaBJj57BUv2ZZB4LLmZw?= =?us-ascii?Q?faqqFYxJGSQfI3MmN+ikAFtN1WHUnpgw5KGmLUWKqg0Ag3tOSSm9+iLSNdjk?= =?us-ascii?Q?dgfkDQvh0Lr/79KdrxqAI/Tpp4HbGQ64nNaQ3TI8c6tlXNpsHi9OGEHBAgQ9?= =?us-ascii?Q?cPv2JPE3mKss6DbcY0Yv6YMS3jf+QqMC/0CzAv4M6lHtoA0lIByVr+F0wi+H?= =?us-ascii?Q?aSBBwngKFumkBhbaNWPfMHOfbvHNxwdUKufWAnYdhCKZuYrVuXKRtYeb7f4b?= =?us-ascii?Q?n9ujd+nk70O+Jr8970S0oFbeIu1yBZ0A2TO7xkD0i+G2Qdcu3S2GmmbQY/3L?= =?us-ascii?Q?1Gl4B52Sfejgy45kvujzdhnyz4kgxLcHdTGkbShtvCOOa8uJRX+lWQvuqC7C?= =?us-ascii?Q?oQV6BjeGODh+y3T8/T8ygbtvFQrgfxwWWdYFYZjw5tOGHXiyNM8qeGuTnViT?= =?us-ascii?Q?sYQbvzcqLm7zf4SQEUl+C35M9T0pJoPXBEQxNE2LmdNKuWZeBXyc1MD+CfKI?= =?us-ascii?Q?VJTspckDKa46BXn7lNNZpC3GpktQihsuBLTQ71OxnNp0XdM62WyXUz3tNsci?= =?us-ascii?Q?j6WK0EiRKmrRmoZIP29DStWShyYX46Fn5SJWdAG3hoH+adf+LZ7xVOCbBVjE?= =?us-ascii?Q?jOJZAok8pd24CCH951XmBlpmhsOroyZkDIpdwscP2mEnxEtWMx9TccuEdmr0?= =?us-ascii?Q?F/5uVZne1xNryCZxObtrLajg9oOyhyymc1SE1fAn4yIwWIWCNpyZIEyjp1ZJ?= =?us-ascii?Q?aI4kaGTMJIHzROMcYq5Gnwm4zwNNLoAGL7dPp+Si?= X-OriginatorOrg: atomlin.com X-MS-Exchange-CrossTenant-Network-Message-Id: 727de445-5de9-48dc-dd1f-08de38659a18 X-MS-Exchange-CrossTenant-AuthSource: CWLP123MB3523.GBRP123.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Dec 2025 03:30:16.2370 (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: j+7rd1erGN/PFC1sNUZSSOfbg6ijDI6LVPsd5uSd46ZlFkgypTsPxYAgDFj2Lso0wEuqeB/pzK1oJH3kOJTv+w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CWLP123MB3569 Content-Type: text/plain; charset="utf-8" Introduce support for writing to /proc/sys/kernel/hung_task_detect_count. Writing any value to this file atomically resets the counter of detected hung tasks to zero. This grants system administrators the ability to clear the cumulative diagnostic history after resolving an incident, simplifying monitoring without requiring a system restart. Signed-off-by: Aaron Tomlin --- Documentation/admin-guide/sysctl/kernel.rst | 2 +- kernel/hung_task.c | 30 +++++++++++++++++++-- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/Documentation/admin-guide/sysctl/kernel.rst b/Documentation/ad= min-guide/sysctl/kernel.rst index 239da22c4e28..43c17b919969 100644 --- a/Documentation/admin-guide/sysctl/kernel.rst +++ b/Documentation/admin-guide/sysctl/kernel.rst @@ -418,7 +418,7 @@ hung_task_detect_count =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 Indicates the total number of tasks that have been detected as hung since -the system boot. +the system boot. The counter can be reset to zero when written to. =20 This file shows up if ``CONFIG_DETECT_HUNG_TASK`` is enabled. =20 diff --git a/kernel/hung_task.c b/kernel/hung_task.c index 6f3fb26378b5..979b7e2fcc19 100644 --- a/kernel/hung_task.c +++ b/kernel/hung_task.c @@ -377,6 +377,32 @@ static long hung_timeout_jiffies(unsigned long last_ch= ecked, } =20 #ifdef CONFIG_SYSCTL + +/** + * proc_dohung_task_detect_count - proc handler for hung_task_detect_count + * + * Handles read access for the hung task counter. For write access, it + * accepts any successfully parsed value and atomically resets the counter + * to zero. Returns the byte count written on success or a negative error + * code on failure. + */ +static int proc_dohung_task_detect_count(const struct ctl_table *table, in= t write, + void *buffer, size_t *lenp, loff_t *ppos) +{ + int ret; + + if (!write) + return proc_doulongvec_minmax(table, write, buffer, lenp, ppos); + + ret =3D proc_doulongvec_minmax(table, write, buffer, lenp, ppos); + if (ret) + return ret; + + WRITE_ONCE(sysctl_hung_task_detect_count, 0); + + return ret; +} + /* * Process updating of timeout sysctl */ @@ -459,8 +485,8 @@ static const struct ctl_table hung_task_sysctls[] =3D { .procname =3D "hung_task_detect_count", .data =3D &sysctl_hung_task_detect_count, .maxlen =3D sizeof(unsigned long), - .mode =3D 0444, - .proc_handler =3D proc_doulongvec_minmax, + .mode =3D 0644, + .proc_handler =3D proc_dohung_task_detect_count, }, { .procname =3D "hung_task_sys_info", --=20 2.51.0