Virtual Machine 1/0 The simulation effort required of CP may be trivial, as for a supervisor call (SVC) interrupt (which is generally reflected back to the virtual machine), or may be more complex, as in the case of a Start I/O (SIO) interrupt, which initiates extensive CP
processing.
When planning for the virtual machine environment, consideration should be given
to the number and type of privileged instructions to be executed by the virtual
machines. Any reduction in the number of privileged instructions issued by the vir
tual machine's operating system reduces the amount of extra work CP must do to
support the machine.
To supportI/O processing in a virtual machine, CP must translate all virtual
machine channel command word (CCW) sequences to refer to real storage and real
devices and, in the case of minidisks, real cylinders. When a virtual machine issues
anSIO, CP must:
1. Intercept the virtual machineSIO interrupt.
2. Allocate real storage space to hold the real CCW list to be created.
3. Translate the virtual data addresses to real data addresses.
4. Translate the virtual device addresses referred to in the virtual CCWs to real
device addresses.
5. Page into real storage and lock, for the duration of theI/O operation, all virtu
al storage pages required to support theI/O operation.
6. Generate a new CCW sequence building a Channel Indirect Data Address list
if the real storage locations cross page boundaries.
7. If the real device is a3330V, append an MSS cylinder fault prefix to the CCW
prefix to prevent the channel from doing channel command retry.
8. Schedule theI/O request.
9. Present theSIO condition code to the virtual machine. 10. Recognize an MSS cylinder fault, queue the I/O request, and reschedule the
request when the subsequent interruption is received (indicating staging is
complete).
11. Intercept, retranslate, and present the channel end and device end interrupts to
the appropriate virtual machine, where they must then be processed by the vir
tual machine operating system.
CP's handling ofSIOs for virtual machines can be one of the most significant
causes of reduced performance in virtual machines.
The number ofSIO operations required by a virtual machine can be significantly
reduced in several ways:Use of large blocking factors (up to 4096 bytes) for user data sets to reduce
the total number ofSIOs needed.
Performance Guidelines 25
processing.
When planning for the virtual machine environment, consideration should be given
to the number and type of privileged instructions to be executed by the virtual
machines. Any reduction in the number of privileged instructions issued by the vir
tual machine's operating system reduces the amount of extra work CP must do to
support the machine.
To support
machine channel command word (CCW) sequences to refer to real storage and real
devices and, in the case of minidisks, real cylinders. When a virtual machine issues
an
1. Intercept the virtual machine
2. Allocate real storage space to hold the real CCW list to be created.
3. Translate the virtual data addresses to real data addresses.
4. Translate the virtual device addresses referred to in the virtual CCWs to real
device addresses.
5. Page into real storage and lock, for the duration of the
al storage pages required to support the
6. Generate a new CCW sequence building a Channel Indirect Data Address list
if the real storage locations cross page boundaries.
7. If the real device is a
prefix to prevent the channel from doing channel command retry.
8. Schedule the
9. Present the
request when the subsequent interruption is received (indicating staging is
complete).
11. Intercept, retranslate, and present the channel end and device end interrupts to
the appropriate virtual machine, where they must then be processed by the vir
tual machine operating system.
CP's handling of
causes of reduced performance in virtual machines.
The number of
reduced in several ways:
the total number of
Performance Guidelines 25