 |




The Linux distributions SUSE SLES10 and Red Hat RHEL5 use the virtual
CPU time accounting by default. However this feature is kernel configurable
and allows the alternative enabling of tick based CPU time accounting.
The patches for virtual CPU time accounting are included from kernel
2.6.11 on.
|
For Linux on System z running in an LPAR or as a z/VM guest,
the Linux standard commands which display process time information
(top, vmstat,
ps, time) show precise CPU times when virtual CPU time
accounting is enabled. The semantics of the reported CPU time
numbers has changed with the introduction of virtual CPU time
accounting:
- The numbers based on tick based CPU time accounting report
CPU times spent in a virtual CPU context.
- The numbers based on virtual CPU time accounting report
CPU times spent in a real CPU context.
The internal precision of the CPU time numbers is at least
1 microsecond on a System z machine.
Further a new field "steal time" is added to the
/proc/stat file interface.
|
|
Steal time is the percentage of time a virtual CPU waits
for a real CPU while the hypervisor is servicing another virtual
processor.
Tools displaying steal time:
- Newer versions of the Linux standard commands displaying
CPU time information now show this number. Older versions
include steal time in CPU idle time.
- The popular sysstat utilities package, which is often
used for detailed performance analysis purposes, has been
updated and now shows the CPU steal time.
- sysstat 6.0.2: mpstat, iostat display CPU steal time
- sysstat 7.0.0: mpstat, iostat, and sar -u display
the CPU steal time

|
|
The virtual CPU time accounting needed additional coding in the first level
interrupt handler. This slows down the system call path. However benchmarking
shows no noticeable degradation for normal workloads.
|
|
 |
|
 |