From nobody Sat Feb 7 05:01:12 2026 Received: from out203-205-221-153.mail.qq.com (out203-205-221-153.mail.qq.com [203.205.221.153]) (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 9DF002900A8 for ; Sun, 18 Jan 2026 09:14:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=203.205.221.153 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768727703; cv=none; b=kdthCCfDUvw6vnnL3yO+6YepNyAFs+Ice/86nxq+HqAK8jcqnHd9JZK/KVb2YHlagFiVEXMoYYqrEbWseSEX5BO3/dQKG7Pgkr6RXAoVJeJhwNR4jNmeVcNs5W9U3BBtPgvzfufc8XzYZ5GP7kEToTN8jbBWCUYyYk6XG/N4r3I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768727703; c=relaxed/simple; bh=WvP5kw41ALWMzq7iDBoRJaZA2BwwNMcB3wi56/nRHfI=; h=From:To:Cc:Subject:Mime-Version:Content-Type:Date:Message-ID; b=iqbS78Q0dE9cYXUYb8PK5CPEK51v9xPQHxcqiGKuogwb3+B4G5ab43D/3144tHU6mB3JVzXbibe9TUbofBYIyhnFohMq8on7TLcvzpQ+tRolSlZ33JGIEJZpDZKul8qJZaUzeuCFXlmJYMbJu2VbK0F750MMzqFFBQ/wXY0PCds= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=qq.com; spf=pass smtp.mailfrom=qq.com; dkim=pass (1024-bit key) header.d=qq.com header.i=@qq.com header.b=s8mNdBDW; arc=none smtp.client-ip=203.205.221.153 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=qq.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=qq.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=qq.com header.i=@qq.com header.b="s8mNdBDW" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1768727691; bh=WvP5kw41ALWMzq7iDBoRJaZA2BwwNMcB3wi56/nRHfI=; h=From:To:Cc:Subject:Date; b=s8mNdBDWVVTFXRF8bqYJzhIKnS+c2j2+rEP3ekEiZdp2cM4Hr4+B+M5oJSLi+KBL6 3N6XD3jXplsz8SNe605kdQNbU1HOiBb+pPX7sktuv9ufgxec1WBPDVQYVtsdOJRK7q sjlY0GI8H6dJQAAl82N3tAKbMGEWnl2UDk4i9fPY= X-QQ-XMRINFO: NS+P29fieYNwqS3WCnRCOn9D1NpZuCnCRA== X-QQ-XMAILINFO: NObXhSxyy/czLwuztIwaOIxGF37Ye1XzhvpBoOprr0DQHC8oDfFomH0SfnAGKG th9qnBpO2vZJKHOGfWgk3QJ6v4EODeCo/kX6MLqPRDkrdrPgJDfZZtDx+8T49jx9lb0T8+HjgMLKy S/f2jdN8pK0xl+OOZBxW7rqL8eAkirMxfrCD47YdBwFwul2AZdfIIjglApid0lrdBl21hYtsCXLNh eB9YTeKcSjUOfXoH/ZBAplTk6RKa9rhGoojkxktG2JWAWQr98WggSr9stOaRVG80R+T+xA/1dlqI3 m5R3aJ6LN+zKuqyuxkhxfaN6Me5mXdXP5+YcIxLAm7GDXsnUlqHFSI/GYa7HUfC+JXaOPfM+9U4P0 qJenhEPH8E8tfU82/jFM3V/YVvJMHB1oAMdxFFqdYEJZS+Dy2W8iPFs4qZ9MjxfYvdbOTNEPOSbKs gh+Bgu8rW5YAczYRF4KYROzy40X4+jh6nTVyaRLZnZDaBk60cA0YQ6gzOf3N4z78L2QXNS8M6F7Cg 15rgujSibnb0Z5GdsVdKkiMj/niNlCidAwMq9End6bsW6c+Is+O/xEf7I9xVlYUoJlIg5ScrbkkVq yvkFVPmPYBJBAqMHzqg4WmXVFfHjfkgElFj4HRRdlFwC5zcXnKifhol3qDqAj1G5andPon8Ovf3CO x45rykScXcVwuf8XrU8Ts/33DLPjtfam2Cbj/hSM3tpwpJIYEXpf+PdefzcxGtWzOD72XfBAC8iRA 0VA1wHyRKFGB463QbU+s4wqBLzE6hlcv8N4VV+t6yEN8CFl5oWTXVzxkBWtofAFDF8vPrp2YKMRuN xKr1/HSA6V5LhgkB4V6Pntg5bn0+SvlaheZ3zCkORHXy7okyrXJftkInN4p+OvuCxSVgWOlawN4lE q+5+xVxAXwvoqQTmP8XylPQq8g2E3Tg/8wS/gZEps9p7Q3Ovsh0LOzwHeFwzDsE6WT75MGERpMnml KFStjPbsX89NpcDXfmpGi1uyNU4Pj74hbKEL7419vmeplSQO3GRkSmgai8k27fdO5Qvz6ypjxNDNd Kunfg4L4rnHDRX0Il9H5etENZ1eT4jzqJSuWAgv/dkKsxYHP/Rhma8Xl0WhC3cYPRr0kH From: "=?utf-8?B?c2hlbmdtaW5naHU1MTI=?=" To: "=?utf-8?B?YnJvb25pZQ==?=" Cc: "=?utf-8?B?bGludXgta2VybmVs?=" , "=?utf-8?B?aHUuc2hlbmdtaW5n?=" , "=?utf-8?B?emhhbmcucnVu?=" Subject: [PATCH] watchdog/softlockup: Fix sample ring index wrap in need_counting_irqs() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Date: Sun, 18 Jan 2026 17:14:49 +0800 X-Priority: 3 Message-ID: X-QQ-MIME: TCMime 1.0 by Tencent X-Mailer: QQMail 2.x X-QQ-Mailer: QQMail 2.x X-QQ-mid: xmsepub7-0t1768727689tnqyj9z9b Content-Type: text/plain; charset="utf-8" From: Shengming Hu cpustat_tail indexes cpustat_util[], which is a NUM_SAMPLE_PERIODS-sized ring buffer. need_counting_irqs() currently wraps the index using NUM_HARDIRQ_REPORT, which only happens to match NUM_SAMPLE_PERIODS. Use NUM_SAMPLE_PERIODS for the wrap to keep the ring math correct even if the NUM_HARDIRQ_REPORT or NUM_SAMPLE_PERIODS changes. Signed-off-by: Shengming Hu --- kernel/watchdog.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/watchdog.c b/kernel/watchdog.c index b4d5fbdb9..7d675781b 100644 --- a/kernel/watchdog.c +++ b/kernel/watchdog.c @@ -550,7 +550,7 @@ static bool need_counting_irqs(void) u8 util; int tail =3D __this_cpu_read(cpustat_tail); =20 - tail =3D (tail + NUM_HARDIRQ_REPORT - 1) % NUM_HARDIRQ_REPORT; + tail =3D (tail + NUM_SAMPLE_PERIODS - 1) % NUM_SAMPLE_PERIODS; util =3D __this_cpu_read(cpustat_util[tail][STATS_HARDIRQ]); return util > HARDIRQ_PERCENT_THRESH; } --=20 2.25.1