[S390] fix idle time accounting
The steal time is calculated by subtracting the time the virtual cpu has been running on a physical cpu from the wall clock time. To make that work all wall time needs to be added to the steal time field first before the virtual cpu time is subtracted. The time between the last clock update and the load of the enabled wait psw needs to be added to the steal_time field as well to make the sum over all cpu accounting numbers match the wall clock. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Родитель
88e012856d
Коммит
b86ccca49c
|
@ -134,6 +134,8 @@ void vtime_start_cpu(void)
|
|||
/* Account time spent with enabled wait psw loaded as idle time. */
|
||||
idle_time = S390_lowcore.int_clock - idle->idle_enter;
|
||||
account_idle_time(idle_time);
|
||||
S390_lowcore.steal_timer +=
|
||||
idle->idle_enter - S390_lowcore.last_update_clock;
|
||||
S390_lowcore.last_update_clock = S390_lowcore.int_clock;
|
||||
|
||||
/* Account system time spent going idle. */
|
||||
|
|
Загрузка…
Ссылка в новой задаче