Le Mon, Jan 19, 2026 at 03:35:52PM +0100, Peter Zijlstra a écrit :
> On Fri, Jan 16, 2026 at 03:52:02PM +0100, Frederic Weisbecker wrote:
>
> > +static void kcpustat_idle_stop(struct kernel_cpustat *kc, ktime_t now)
> > {
> > + u64 *cpustat = kc->cpustat;
> > + ktime_t delta;
> > +
> > + if (!kc->idle_elapse)
> > + return;
> > +
> > + delta = ktime_sub(now, kc->idle_entrytime);
> > +
> > + write_seqcount_begin(&kc->idle_sleeptime_seq);
> > + if (nr_iowait_cpu(smp_processor_id()) > 0)
> > + cpustat[CPUTIME_IOWAIT] = ktime_add(cpustat[CPUTIME_IOWAIT],
> > delta);
> > + else
> > + cpustat[CPUTIME_IDLE] = ktime_add(cpustat[CPUTIME_IDLE], delta);
> > +
> > + kc->idle_entrytime = now;
> > + kc->idle_elapse = false;
> > + write_seqcount_end(&kc->idle_sleeptime_seq);
> > }
>
> I realize this is mostly code movement; but do we really want to
> preserve ktime_{sub,add}() and all that?
>
> I mean, we killed that 32bit ktime nonsense ages ago.
Good point, this should just be u64.
Thanks!
--
Frederic Weisbecker
SUSE Labs