[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250711130955.GE905792@noisy.programming.kicks-ass.net>
Date: Fri, 11 Jul 2025 15:09:55 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Aruna Ramakrishna <aruna.ramakrishna@...cle.com>
Cc: linux-kernel@...r.kernel.org, mingo@...hat.com, juri.lelli@...hat.com,
vincent.guittot@...aro.org, dietmar.eggemann@....com,
rostedt@...dmis.org, bsegall@...gle.com, mgorman@...e.de,
vschneid@...hat.com
Subject: Re: [PATCH RESEND] sched: Change nr_uninterruptible type to unsigned
long
On Wed, Jul 09, 2025 at 05:33:28PM +0000, Aruna Ramakrishna wrote:
> The commit e6fe3f422be1 ("sched: Make multiple runqueue task counters
> 32-bit") changed nr_uninterruptible to an unsigned int. But the
> nr_uninterruptible values for each of the CPU runqueues can grow to
> large numbers, sometimes exceeding INT_MAX. This is valid, if, over
> time, a large number of tasks are migrated off of one CPU after going
> into an uninterruptible state. Only the sum of all nr_interruptible
> values across all CPUs yields the correct result, as explained in a
> comment in kernel/sched/loadavg.c.
>
> Change the type of nr_uninterruptible back to unsigned long to prevent
> overflows, and thus the miscalculation of load average.
>
> Fixes: e6fe3f422be1 ("sched: Make multiple runqueue task counters 32-bit")
>
> Signed-off-by: Aruna Ramakrishna <aruna.ramakrishna@...cle.com>
Thanks!
Powered by blists - more mailing lists