From nobody Mon Feb 9 00:06:47 2026 Received: from out203-205-221-190.mail.qq.com (out203-205-221-190.mail.qq.com [203.205.221.190]) (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 AF00636C5B0 for ; Mon, 19 Jan 2026 13:59:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=203.205.221.190 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768831158; cv=none; b=NvjMSOLKkjyR2LON7mwaLLAuzTHJynkuOjOtVyej0ZsXWGnxMuTlDUsVs1LQD9osIcbyZjB4fbCmbfG6X9NS8V91LHzut9140Qo1fjaOD4mAagAABOmK5XWwrAgvfR5eCveM1yb5DILcpJUiCq6z5xc3Wu+730QBdyM+7kGaz6E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1768831158; c=relaxed/simple; bh=WvP5kw41ALWMzq7iDBoRJaZA2BwwNMcB3wi56/nRHfI=; h=From:To:Cc:Subject:Mime-Version:Content-Type:Date:Message-ID; b=eVFggjzII3zzLqBUQ0conwvM3/mSM8GTglOSH9I6CvTgamIG5WZX7poYxGfi6cHrwClCvcaN7fEcT8aL4Zg7kte6dFrY36v2GmhHOiJoqhl42mLTXWvRt0DKFeO9mdhCHklkdvnELCFTpdHCewdcDvyXxlMbeoGmHZWj89ogTLg= 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=yEtFVZMQ; arc=none smtp.client-ip=203.205.221.190 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="yEtFVZMQ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1768831146; bh=WvP5kw41ALWMzq7iDBoRJaZA2BwwNMcB3wi56/nRHfI=; h=From:To:Cc:Subject:Date; b=yEtFVZMQ5Wyia/RVMTX7p3Ot9ux6DOHTKXzSIFpwe5SfS8e75ng+EnV3xGux9sj2c taChskaetd8WwLbdjIUSR7yI/eIUdPshdmAypvSiTLZ4bYMg06ie+17MwawOW8Y+aT f54svuea4QJAwIX6bP3/QcuAEGd3mQFLqwYXrFqk= X-QQ-XMRINFO: Nq+8W0+stu50tPAe92KXseR0ZZmBTk3gLg== X-QQ-XMAILINFO: NNuHnnxweP5oqqys6tP+Ni8GV5RHY58sNDefxLABYvo0vS5hGJdoc6S/z6HrUN 2SSGJPfWk1gxIbrN28b4iHj2I1Oy4H1aMLBKGZZLjrR4DdDDKAyTPLVTVp+FX6aGULmxMgGapSMfO TIwtDCkPIQYpSF1W4p2udV6cWXuLi+PP5wBcwLkbS4SyA7OFHbXMnDiJdgzWs8TqbkcAeE13hAKwU 8qukM0ZV7P71bD3dG1LULB9HiMjKPmGKkAFcK7xNRVF+rNuYcIUiwPJTISb1jCG74Ve3BYPm6UayG wakRs8jkxBjtcm2CYr9zOO2t/ExUhE5kw6eI/PZ4BZFacli4/0bem4vYZPjSt8UaQfNKgZKXlheIR iglmcQI6tPtUVNHCNDSQw2Ck/FjwGgId5iMpwu/SE9DdeppTUJjYw1gEcwzyk0bm4tPSFJnjgH4RC E0NmWnCGNtYfZ1twolWudEGH9VE1uySX8riLORaUztNcxJbNXxijZLJ1iiGQHkLESG2L/M+1JHRKg ZYMzns/AfNgd8yDy/LrTFKdEs9mCLm9Rl2/xn6KfA5UfzRxupbp15Bac8ZN0xCjeiX5HcsBjlLVo4 y0KCNSWt++jjD3IW4N/KPNT464hYPEmgedrmojiBecBF5hmeMbL2ORa7p9e6R25TU0iKmOxLR8Xk6 q1WIQIukn6GMnbRkzenm3a9r2OIJj4F06UFzKvu7MC4b8135FcWMXmg1V2+uweVcUt9mQhi6aPe+r RVqcKS1m3ZpIrKsZYOZD8lbfT404aNYyAaxJCpdo8pABodL/dzmwrCIRYqHOFNlf/LCw0Kz0QyG6Y 1lqyfxkO9fviIgoH6F/Ex8x+NSUkTSr9k5v9VoboBunZ7dnC/FSyapA5xogSqDoefMeLJIkZ5QBXQ ebZ1I78tCiqUg9ExddmCOYmeaHWlECh+Mjbl7ld1kKx+MiyJ86cLRzM8nIhrmM81JMs2lG7M2iVRb +xVaR0vj+CGY9XyuVhyqMCBYGgJK0gHKRuGPr3Nel0vpUuKWqaPiZ0zAUWC13OcEAmqTt/VyFn6io VghxvHCYMpi0nUHA= From: "=?utf-8?B?c2hlbmdtaW5naHU1MTI=?=" To: "=?utf-8?B?YWtwbQ==?=" , "=?utf-8?B?dGdseA==?=" Cc: "=?utf-8?B?cG1sYWRlaw==?=" , "=?utf-8?B?bWluZ28=?=" , "=?utf-8?B?YnJvb25pZQ==?=" , "=?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: Mon, 19 Jan 2026 21:59:05 +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-0t1768831145tgme0y6km 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 Reviewed-by: Petr Mladek --- 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