Re: [REGRESSION] /proc/stat idle time exceeds wall clock since v7.2
From: Frederic Weisbecker
Date: Tue Sep 22 2026 - 09:26:38 EST
Hi Ahmed,
Le Sun, Sep 20, 2026 at 03:14:22AM +0400, Ahmed Shaltout a écrit :
> Hello,
>
> Since moving from 7.1.8 to 7.2.5 (openSUSE MicroOS kernel-default), the idle
> time reported in /proc/stat exceeds the wall-clock time the CPUs have been up
> for. Idle alone accrues ~103% of the ceiling, and user+nice+system+idle+iowait
> +irq+softirq+steal sums to ~108% of it.
>
> This breaks the common `100 - rate(idle)` derivation of CPU utilisation, which
> goes negative on an idle-but-working machine. node_exporter, and anything built
> on it, is affected.
>
> #regzbot introduced: v7.1..v7.2
>
> Reproducer
> ==========
>
> No tooling needed; /proc/uptime shows it directly, since its second field is
> idle time and cannot legitimately exceed uptime x nr_cpus:
>
> read -r up idle < /proc/uptime && awk -v u="$up" -v i="$idle" -v c="$(nproc)" \
> 'BEGIN{printf "idle %.2f%% of ceiling\n", 100*i/(u*c)}'
>
> 7.2.5: idle 103.10% of ceiling
> 7.1.8: idle 89.13% of ceiling
I can't manage to reproduce that, neither on latest mainline nor on 7.2.7
Can you share your whole .config file?
Thanks.
--
Frederic Weisbecker
SUSE Labs