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
            
            
































































































































































































































































































































































































































































































































































































































