Question:
the various accounting tools can go into as much detail as you
want. I just added stolen time accounting to the xen-pv_ops patchset
which is equivalent to the xen-unstable stolen time accounting. Is that
sufficient for these purposes?
Answer:
Sounds good. I don't see this in your patchset you sent yesterday
though; did you add it after sending out those patches? if so, could
you forward the new patch? does it explicitly prevent stolen time from
getting accounted as user/system time or does it just rely on NO_HZ
mode sort of happening to work that way (since the one shot timer is
skipped ahead for missed ticks)?
adds up to the total amount of time that has passed. I think it is sort
of working for you (i.e. doesn't always double count stolen ticks) since
in NO_HZ mode, update_process_time (which calls account_user_time &
account_system_time) happens to be skipped during periods of stolen time
due to the hrtimer_forward()'ing of the one shot expiry.
I think you're looking for a complex solution to a problem that doesn't exist.
The job of the process scheduler is to meter out the available cpu resources.
It cannot make up cycles for a slow cpu or one that is throttled. If the
problem is happening due to throttling it should be fixed by altering the
throttle. The example you describe with the conservative governor is as easy
to fix as changing to the ondemand governor. Differential power cpus on an
SMP machine should be managed by SMP balancing choices based on power groups.
It would be fine to implement some other accounting of this definition of time
for other purposes but not for process scheduler decisions per se.
Sorry to chime in late. My physical condition prevents me spending any
extended period of time at the computer so I've tried to be succinct with my
comments and may not be able to reply again.