1 • Page of GC20-1807-7 As Updated April 1, 19a1 by TNL GN25-0829
The buffer used forSOURCE data in a SEND, request should not be freed or reused until
external interrupt is received by theSOURCE. SENDX or SEND/RECV the final response
2. The buffer used forSINK data in a REPLY function can be reused by
the SINKatLer the DIAGNOSE instruction (REPLY; has successfully
completed.
3. The user parameter list(VMCPARM) may be reused upon completion of
the Diagnose instruction. At that point theVMCPARM data has been
copied to aVMCF control block (VMCBLOK) by the control program. A
user should, however, maintain queues ofVKCPARM data in order to
associate an external interrupt message header(VMCMHDR) with a
particular request.
4. A user should always interrogate theDIAGNOSE return code or data
transfererror code for possible error conditions. It is the
user's responsibility to determine the types and extent of errorrecovery_ The DIAGNOSE return code 19 for a SOURCE SEND, SEND/RECV or SENDX request indicates that an error was associated with the SINK user and for a SINK RECEIVE or REPLY request indicates that an
error was associated with theSOURCE user. The user who receives
this return code does not have to invoke error recovery for himself
but only be aware that the transaction did not complete
successfully because of an error associated with the other user.PERFORMANCE CONSIDERATIONS There are several factors that can effect the performance of VMCF: • The VMCF support module, DMKVMC, is a pageable CP module. If a user
has significant paging activity, it may be advantageous to either
lock the module in real storage(CP LOCK command) or alter the CP LOADLIST to make DMKVMC resident. • It is to a user's benefit to have the user parameter list, VMCPARM, in the same 4K page as the DIAGNOSE X'0068' instruction. This may
eliminate a paging operation.e User support modules using the VMCF interface should be written as
reentrant modules and be contained within aCP shared segment
whenever possible. This helps reduceCP paging overhead. • The VMCF external interrupt masking is controlled by PSi bit 7 and CRO bit 31. It is to a user's advantage to always have CRO bit 31
set to 1 (whileVMCF is in use) and control the interrupts with PSi bit 7 only. This reduces the number of LCTL instructions. • For applications that involve serial message processing, the SENDX function is the most efficient. The SENDX function eliminates the
need for theSINK to do a RECEIVE operation.
Note:Overall system VM/370 performance is not affected when VMCF is not used by an installation. Part 2. Control Program (CP) 147
The buffer used for
external interrupt is received by the
2. The buffer used for
the SINK
completed.
3. The user parameter list
the Diagnose instruction. At that point the
copied to a
user should, however, maintain queues of
associate an external interrupt message header
particular request.
4. A user should always interrogate the
transfer
user's responsibility to determine the types and extent of error
error was associated with the
this return code does not have to invoke error recovery for himself
but only be aware that the transaction did not complete
successfully because of an error associated with the other user.
has significant paging activity, it may be advantageous to either
lock the module in real storage
eliminate a paging operation.
reentrant modules and be contained within a
whenever possible. This helps reduce
set to 1 (while
need for the
Note: