From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 55D91350A0F for ; Wed, 28 Jan 2026 17:52:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769622737; cv=none; b=kXtaOVRVbnIgB7KjFqw6gYoHa2LCL+4xO8N3DbJcf/am10hCHVQtGHmQbfaYpEAKKmFiw66OnfAhYoqh/Wb+r4gXyX1SPNV+sxIpGb0UMh5McBZe2Il/JmB2l+ZfZR5hyT3cABMwcFyheO+zGVry4xU4SC5qQRux9a1DKva6JJs= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769622737; c=relaxed/simple; bh=ya8hlybHK3+ULlTnNgJOAO8sWfMvSLflXvQe+6YBZzI=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=eZBOk3g8eK3TDTtZWUi18JE1lcDTh+USoecdDB1x88WngvzRA/u9eSpu6PoJxw9xR1wJV3RHxj7geDplhAeADB0kChK3998hdVPAD0KwlGyMq32pX9eIra0fnDKsMXagiuuQraeOwXCRc721LfIdShJsIwx/y75jln54SGcRawg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=GVIP2jJE; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="GVIP2jJE" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-47ee937ecf2so1012895e9.0 for ; Wed, 28 Jan 2026 09:52:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1769622735; x=1770227535; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=n86gITIWuxYGTn04lOuC0WY2NbfEq+C3KcynFpIXTFE=; b=GVIP2jJEmnJRRGM5g7JQR0igmtNDj+2QQ39vrmNSVqvEPORbIEcTDJuE4kiUifNYiW C/Ypv1smLLEgMC4WFwxLC2v3SQAyk6Wk67ESUIqKFAkOGm38cmKNRAAI8v29CqdNlKoJ XoGtExSPadoWNAacG8IRxeZ+oQw1PvzTsJTmh0KoY9wNIJ6u8DlrWQZprazZFX/tVWtz n4qcBDh4Lyahb0aDuuUfgPSQsxF51cmLVtCPWOh8DukXEhCm/d4Ex3aY4aZygxcLZetG nt2dG/2YyRBcQ6VhOb//zeGQ1T09/3ugHo8XxBVyGwmhpNK/K5KCLtK8X+zXUpDezsiA qHlg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769622735; x=1770227535; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=n86gITIWuxYGTn04lOuC0WY2NbfEq+C3KcynFpIXTFE=; b=PiA69gtd8AJidaZX52W1S1mxnwqmkDKlroq/zQxIS2Fpsag4q4PX+st207G0DR1nbA bukyoyvNj1veI6JRDZRdtMdUKcrqEIbdt4gXcCusJTUXM0rj7WfYj++zE2xZ74wX9kIR go4HYcwFVKO9YJ0ZliJuB24KqKAp8uoYlN5N4tRbdueDE4/CtW228xnuC/W7dsea0cAd mNG2P/2TmABxOsLNtvhCdol5uieIH98r2wMg3RBmYCwiFJIBFFEDplpysH0EJa77hvkK wWGMO4v5XbunQFhMdqHepvqmQT6hJBAqgz3hqX4BAC0xU49mDGHA5ithgDCsilgxMMV7 NP7A== X-Forwarded-Encrypted: i=1; AJvYcCWnwtkYqW3Smkgct68o8yj/iFnrj5qHoPcoR+vBXVyPbWlEwqFsUeMLFecqWXtf+pgf9DYw1VLnzkT5jRI=@vger.kernel.org X-Gm-Message-State: AOJu0YxLdnAj+UC0HKBE+5DIOO2GOTUslncsibKqPXtW6YstQZNiHuof mAYA+T77GfA8IfBojxt3Y0t36rzuTf0WMRhg1FEA3ifP6RNrxN2eEqp79LCXPGD7aRg= X-Gm-Gg: AZuq6aJurXIwJqagg67GioINS8sBZo8vclM2nDHaNJJHRDXYWbrgbR4e0UPv6Q9dQwr NbQMOVad8f50oQQWaYQnbfhBxvRO9DL2vXNwicxZ2e8aP8UNeLZ9hTTYp4Mrd/eh1HEVDudA40k XG4/pbKjAltAWWoG+94rWjDQaaWAFTE5ewNOIKmUtxeIbxBv+Z5pPS2JQbbWtoYjExIAmqvJWcO SX69VPsctFEEMwlcT0aDwOmdCNcD+kcdmQVpBUVVJ2e0rF0VovNd4x+k1pbIcfIAMIT0Qo7xssC tQiOo+Q/HIFsvEEZA9T2f7J7QZR2I+o6LYuD9v4J2GxZHLBI0q9nTIowN79VucVVi1ckzw5I17Y EOHUsuj9Rul3liOc/OTK0OB6HQ6f4urYKWCm7mPJv6XmlsPL/xOxHGORXZ8jJqF1URnxCYZbKT6 aZ5IM0AUHZnBZDhpO+1XbVRPOs X-Received: by 2002:a05:600c:3143:b0:47e:e2b8:66e6 with SMTP id 5b1f17b1804b1-480829b1c51mr4080785e9.14.1769622734648; Wed, 28 Jan 2026 09:52:14 -0800 (PST) Received: from pathway.suse.cz ([176.114.240.130]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4806e2bc5fbsm4744935e9.8.2026.01.28.09.52.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Jan 2026 09:52:14 -0800 (PST) Date: Wed, 28 Jan 2026 18:52:11 +0100 From: Petr Mladek To: shengminghu512 Cc: akpm , tglx , mingo , broonie , linux-kernel , "hu.shengming" , "zhang.run" Subject: Re: [PATCH] watchdog/softlockup: Fix sample ring index wrap in need_counting_irqs() Message-ID: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Mon 2026-01-19 21:59:05, shengminghu512 wrote: > 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. > > --- > 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 = __this_cpu_read(cpustat_tail); > > - tail = (tail + NUM_HARDIRQ_REPORT - 1) % NUM_HARDIRQ_REPORT; > + tail = (tail + NUM_SAMPLE_PERIODS - 1) % NUM_SAMPLE_PERIODS; > util = __this_cpu_read(cpustat_util[tail][STATS_HARDIRQ]); > return util > HARDIRQ_PERCENT_THRESH; Great catch! It makes perfect sense. The NUM_HARDIRQ_REPORT is used for another array (irq_counts_sorted[]) with the most frequent IRQs. This code was added with the same commit which added the other array. It would explain the mistake. Reviewed-by: Petr Mladek Andrew, I assume that you would take it... Best Regards, Petr > } > -- > 2.25.1 >