Re: [accounting regression since rc1] scheduler updates

Martin Schwidefsky
2007-08-21T09:15:19Z

On Tue, 2007-08-21 at 09:00 +0200, Christian Borntraeger wrote:
> Am Montag, 20. August 2007 schrieb Martin Schwidefsky:
> > On Mon, 2007-08-20 at 20:08 +0200, Ingo Molnar wrote:
> > Ok, that would mean that sched_clock can just return the virtual cpu
> > time and the two hooks starts and stops the idle periods as far as the
> > scheduler is concerned. In this case we can use the patch from Jan with
> > the new implementation for sched_clock and add the two hooks to the
> > places where the cpu-idle notifiers are done (do_monitor_call and
> > default_idle). In fact this could be an idle-notifier. Hmm, I take a
> > closer look tomorrow when I'm back at the office.
> >
> > > If a virtual CPU is idle then i think the "real = steal, virtual = 0"
> > > way of thinking about idle looks a bit unnatural to me - wouldnt it be
> > > better to think in terms of "steal = 0, virtual = real" ? Basically a
> > > virtual CPU can idle at "perfect speed", without the host "stealing" any
> > > cycles from it. And with that way of thinking, if s390 passed in the
> > > real-idle-time value to the new callbacks below it would all fall into
> > > place. Hm?
>
> Martin,
>
> I think we already do something like this. If you look at cpustat in 2.6.22
> and earlier we already have steal increase = 0, idle increase = 100 % on an
> idle cpu, even on s390. So while from the hardware perspective steal is
> growing, we do the right thing in Linux, no?

This is done in kernel/sched.c:account_steal_time(). If the architecture
backend reports steal time for idle it is accounted as idle time.

--
blue skies,
Martin.

"Reality continues to ruin my life." - Calvin.