Parameters

The parameters are:

MIH,class=mm:ss
Specifies the time interval for class in the form mm:ss, where mm is minutes and ss is seconds. The value range for mm is 00 - 99, and for ss is 00 - 59. When you set a class to 00:00, MIH or IOT no longer monitors the class.

You can specify the time interval for one or more of the following device class values for class:

CHAR
The character reader device class.
COMM
The communications device class.
CTC
The channel-to-channel device class.
DASD
The DASD device class. This device class name represents the MIH.
GRAF
The graphics device class.
TAPE
The tape drive device class.
UREC
The unit record device class.
USnn
A user-specified device class, where nn can be any two-digit number from 01 through 99 that matches a device group created by MIH or I/O timing processing. A user-specified device group is a set of devices associated with a specific time interval. The system creates this type of group and assigns the user class number (USnn) when either of the following is true:
  • The MIH time interval is not equal to the time interval of its device class.

    Note that some devices present their own MIH timeout values, using the primary/secondary MIH timing enhancement contained in the self-describing data for the device. If the primary MIH timeout value for the device does not equal the timeout value for the device class and the device's timeout value has not been altered by the user, the system creates a user-specified class to contain the timeout value for the device. The user-specified class for these devices are created at IPL (if the device is defined to be ONLINE) or at VARY ONLINE time.

  • The IOT time interval is not equal to the time interval of its device class.

Other time intervals that you can specify for class are:

HALT
Specifies the time interval for halt (HSCH) and clear (CSCH) subchannel operations. Setting this device-independent keyword affects all devices on the system.
IOTDASD
Specifies the I/O timing (IOT) time interval for the DASD device class. The maximum I/O timing limit is 5,999 seconds.
Note: Paging devices are not supported for I/O timing.
IOTTAPE
Specifies the I/O timing (IOT) time interval for the TAPE device class. The maximum I/O timing limit is 5,999 seconds. Consult the vendor of your tape device for recommendations when using this keyword.
Note: I/O timing for TAPE requires the use of the MSGONLY=YES parameter because full I/O timing support is not available.
MNTS
Specifies the time interval for monitoring mount pending conditions for DASD and TAPE drives.
STND
Specifies the MIH time interval for all of the following device classes: CHAR, COMM, CTC, GRAF, TAPE, and UREC.

If you code STND following any of those class names, the value for STND overrides the values for those device classes. Similarly, if you code any of those class names following STND, the values for those device classes override the value for STND.

Note: During IOS recovery processing, the system overrides your time interval specification and may issue MIH messages and MIH logrec error records at this IOS-determined interval.
MIH,MOUNTMSG={YES or NO}
Indicates whether the system is to display the mount pending messages. Specify YES to have the message displayed; specify NO to suppress the message display.

Default: NO

MIH,DEV=([/]devnum[,[/]devnum]...[,[/]lowdevnum-[/]highdevnum]...)
The specific device identified by a device number, devnum, or all devices in the range of lowdevnum-highdevnum. A device number is 3 or 4 hexadecimal digits, optionally preceded by a slash (/).
MIH,TIME=mm:ss
Specifies the time interval in the form mm:ss, where mm is minutes and ss is seconds. The value range for mm is 00-99 and for ss is 00-59.

When you set TIME to 00:00, MIH no longer monitors the device.

If you specify TIME, you must also specify DEV. The system accepts only one pair of TIME and DEV keywords per command line.

MIH,IOTIMING=mm:ss
Specifies the I/O timing limit in the form mm:ss, where mm is minutes and ss is seconds. The value range for mm is 00-99, and for ss is 00-59. The maximum I/O timing limit is 5,999 seconds. When IOTIMING is set to 00:00, I/O timing is not in effect for that device or range of devices.
Note: Do not modify the I/O timing limits without first checking with your system programmer.

If you specify IOTIMING, you must also specify DEV. The system accepts only one pair of IOTIMING and DEV keywords per command line.

Note: If the identified device is a TAPE device, MSGONLY=YES is also required because full I/O timing support is not available. Consult the vendor of your tape device for recommended settings when using IOTIMING with TAPE devices.
MIH,MSGONLY={YES or NO}
Specifies whether an I/O timeout condition is processed using message-only recovery (MSGONLY=YES) or full I/O timing recovery (MSGONLY=NO).

Message-only processing allows the system to detect I/O timeout conditions while providing the user the ability to decide which I/O requests the system should terminate.

When an I/O request exceeds the I/O timing interval, the system issues a message to the operator and writes a record to SYS1.LOGREC. Then,
  1. When MSGONLY=YES is specified, the I/O request is left in the system.
  2. When MSGONLY=NO is specified, the system abnormally terminates the I/O request.

The default, when you do not specify MSGONLY, is MSGONLY=NO. The system applies this only to devices it modifies as a result of this command.

If a command contains more than one MSGONLY keyword, the system uses only the last valid MSGONLY keyword.

The MSGONLY keyword is valid only when you specify the IOTDASD keyword or the DEV and IOTIMING keywords. Otherwise, the system ignores MSGONLY. That is, the MSGONLY keyword value relates only to devices affected by the IOTDASD or the DEV and IOTIMING keywords.

MIH,IOTHSWAP={YES or NO}[,IOTTERM={YES or NO}]
Specifies how an I/O timeout condition is handled regarding HyperSwap® processing.

IOTHSWAP indicates whether an I/O timing timeout condition is allowed to trigger a HyperSwap. IOTTERM indicates whether a timed-out I/O operation should be terminated with permanent error when a HyperSwap has been triggered for the I/O timing timeout condition.

The IOTTERM keyword is valid only when you specify the IOTHSWAP keyword on the same command.

Note: An I/O timeout does not trigger a GDPS® HyperSwap when message-only recovery is specified for the device or as the result of a timeout condition specified by an I/O driver program.
DCM={ON or OFF or REFRESH}
Specifies that dynamic channel path management is turned on or off. If REFRESH, then a control unit model table update is initiated.
MIDAW={YES or NO}
Specifies whether the modified indirect addressing word (MIDAW) facility is enabled or disabled on a system. When disabling with MIDAW=NO, the MIDAW facility remains in effect for one minute to allow queued I/O using MIDAWs to finish.
FICON®,STATS={YES or NO}
Specifies whether FICON switch statistics are to be gathered on a system. When specifying FICON,STATS=NO, turn off FICON Director Activity Reporting in Resource Measurement Facility (RMF) to avoid the possibility of inconsistent report data.
FICON,FABRICPRTY={YES or NO}
Specifies whether FICON fabric I/O priority should be used within the system.
CAPTUCB,PROTECT={YES or NO}
Specifies whether to enable write protection on captured UCBs.
STORAGE,IOSBLKS={24 or 31}
Use this command to enable 24 or 31-bit storage for IOS blocks.
Note: To use this command, set the IOS Address Space (IOSAS) as a TRUSTED address space.
HYPERPAV={NO or BASEONLY or YES or XPAV}
Specifies the use of HyperPAV mode. Use of this keyword changes the mode of operation of HyperPAV-capable DASD control units to the requested mode.
HYPERPAV=NO
Specifies that HyperPAV mode is not to be used.
HYPERPAV=BASEONLY
Specifies that I/O is to be run only on non-PAV-alias devices in HyperPAV mode.
HYPERPAV=YES
Specifies that HyperPAV mode is to be used.
HYPERPAV=XPAV
Specifies that HyperPAV mode is to be used, and wherever possible, allow aliases to be used for peer control units in the defining alias management group (AMG). This HyperPAV mode is also known as SuperPAV mode.

Control units on a storage controller with the exact same paths, in order, and those that share the alias management group number, as defined by the storage controller, are eligible to share alias devices when the system is operating in SuperPAV mode.

If the HYPERPAV keyword is not specified, the current HYPERPAV setting is not altered.

Note:
  1. Using SETIOS HYPERPAV to change the mode of operation of all DASD control units on the system can take considerable time, depending on how many control units are configured on the system. This operation, if required, should be done during periods of lower system utilization, and should be done without concurrent IODF or microcode changes affecting the control unit.
  2. If all devices in a logical control unit (LCU) are offline at IPL, SETIOS HYPERPAV mode changes will only take effect after a device on that LCU is varied online.
  3. If a dynamic ACTIVATE and a SETIOS affect the devices on the same control unit, the aliases might not be converted to the correct mode. To detect this condition, use the D M=DEV command and examine the output. To correct the problem, issue VARY bbbb ONLINE,UNCOND where bbbb is a base device on the affected control unit. For more information about the error condition and how to correct it, see Placing an I/O device or a range of I/O devices online or offline.
  4. SETIOS HYPERPAV is not supported when running MVS™ as a VM guest.
EKM,PRIMARY=
Specifies the host name or IP address and port number of the primary key manager. The primary host is used exclusively until a failure is encountered and all attempts to retry are unsuccessful. In subsequent requests after a failure, the primary will be retried before the use of the secondary is attempted. When a connection to the primary is reestablished normal operation continues.
Note: In-band tape encryption requires that the IOS address space has security permission for a z/OS UNIX System Services segment. The z/OS UNIX System Services segment is only for TCP/IP connectivity. UID(0) or super user ability is not required. For example, for RACF® environments, issue:
ADDUSER IOSAS OMVS(UID(xxxx) HOME('/'))
where xxxx is a unique user ID.
host_name[:port or ,PRIPORT=port]
The host name of the encryption key manager.
port
The port number of the encryption key manager. If you include a port number, use a colon to separate it from the host name or IP address. Its specification is mutually exclusive with the PRIPORT= keyword. If port and PRIPORT= keyword are both not specified, a value of 3801 is the default port number.
PRIPORT=port
Specifies the port number for the host name or IP address for the primary key manager. PRIMARY= must be specified for PRIPORT= to be valid.

Default: 3801 (if not specified on the PRIMARY keyword)

ipv4_address[:port or ,PRIPORT=port]
The IP address of the encryption key manager. IP addresses must be specified as a dotted decimal quad ddd.ddd.ddd.ddd.
port
The port number of the encryption key manager. If you include a port number, use a colon to separate it from the host name or IP address. Its specification is mutually exclusive with the PRIPORT= keyword. If port and PRIPORT= keyword are both not specified, a value of 3801 is the default port number.
PRIPORT=port
Specifies the port number for the host name or IP address for the primary key manager. PRIMARY= must be specified for PRIPORT= to be valid.

Default: 3801 (if not specified on the PRIMARY keyword)

ipv6_address[,PRIPORT=port]
The IP address of the encryption key manager in IPv6 format (for example, ::FFFF:127.0.0.1). The optional port number for an IPv6 address must be specified with the PRIPORT= keyword.
PRIPORT=port
Specifies the port number for the host name or IP address for the primary key manager. PRIMARY= must be specified for PRIPORT= to be valid.

Default: 3801 (if not specified on the PRIMARY keyword)

NONE
No encryption key manager is specified. NONE is the default option.
EKM,SECONDARY=
Specifies the host name or IP address and port number of the secondary key manager.
Note: In-band tape encryption requires that the IOS address space has security permission for a z/OS UNIX System Services segment. See EKM,PRIMARY= parameter description for more information.
host_name[:port or ,SECPORT=port]
The host name of the encryption key manager.
port
The port number of the encryption key manager. If you include a port number, use a colon to separate it from the host name or IP address. Its specification is mutually exclusive with the SECPORT= keyword. If port and SECPORT= keyword are both not specified, a value of 3801 is the default port number.
SECPORT=port
Specifies the port number for the host name or IP address for the secondary key manager. SECONDARY= must be specified for SECPORT= to be valid.

Default: 3801 (if not specified on the SECONDARY keyword)

ipv4_address[:port or ,SECPORT=port]
The IP address of the encryption key manager. IP addresses must be specified as a dotted decimal quad ddd.ddd.ddd.ddd.
port
The port number of the encryption key manager. If you include a port number, use a colon to separate it from the host name or IP address. Its specification is mutually exclusive with the SECPORT= keyword. If port and SECPORT= keyword are both not specified, a value of 3801 is the default port number.
SECPORT=port
Specifies the port number for the host name or IP address for the secondary key manager. SECONDARY= must be specified for SECPORT= to be valid.

Default: 3801 (if not specified on the SECONDARY keyword)

ipv6_address[,SECPORT=port]
The IP address of the encryption key manager in IPv6 format (for example, ::FFFF:127.0.0.1). The optional port number for an IPv6 address must be specified with the SECPORT= parameter.
SECPORT=port
Specifies the port number for the host name or IP address for the secondary key manager. SECONDARY= must be specified for SECPORT= to be valid.

Default: 3801 (if not specified on the SECONDARY keyword)

NONE
No encryption key manager is specified. NONE is the default option.
EKM,MAXCONN=dd1
Specifies the maximum number of concurrent socket connections for encryption key management. If in the situation of high network stress due to high socket utilization for encryption key management, this number can be lowered.

Value range: 1-255

Default: 255

EKM,MAXPCONN=dd2
Specifies the maximum number of permanent concurrent socket connections for encryption key management. The permanent connections remain open to prevent the overhead of opening and closing socket communication.

Value range: 0- the number specified in MAXCONN

Default: 8

RECOVERY,LIMITED_RECTIME=ss
Specifies the time in seconds to be used for certain IOS recovery functions. Specify 0 second to disable the recovery function. If the recovery function is disabled, IOS continues to use its predefined value to monitor the IOS recovery I/O completion. The recovery function is disabled by default.

Value range: 2-14 (seconds)

RECOVERY,DEV={DASD or IOTIMING}
Specifies the devices that use the recovery function. Valid options are DASD or IOTIMING:
DASD
All DASD devices.
IOTIMING
Only the devices that have the IOTIMING facility enabled.
RECOVERY,DCCF={MESSAGE or WAIT_STATE}
Specifies the action that IOS-enabled interrupt processing takes when a no paths or intervention required condition occurs on a paging device:
MESSAGE
DCCF is invoked to issue the IOS115A WTOR.
WAIT_STATE
Non-restartable wait state X'140' is loaded.
RECOVERY,PATH_SCOPE={CU or DEVICE}
Specifies whether the scope of the path recovery is for all devices attached to the control unit (CU) or on a device-by-device basis (DEVICE).

Default: DEVICE

RECOVERY,PATH_INTERVAL=nn
Specifies the length of time to monitor for channel path errors in minutes. This keyword can only be used when PATH_SCOPE=CU is specified or when PATH_SCOPE=CU is the current value for the scope of the path recovery.

Value Range: 1-10 (minutes)

Default: 10

RECOVERY,PATH_THRESHOLD=nnn
Specifies the minimum number of channel path-related errors that must occur every minute for the specified period of time (PATH_INTERVAL) before IOS takes action. This keyword can only be used when PATH_SCOPE=CU is specified or when PATH_SCOPE=CU is the current value for the scope of the path recovery.

Value Range: 1-100 (errors)

Default: 10

ZHPF={YES or NO}
Specifies whether the High Performance FICON for IBM z Systems® (zHPF) facility is enabled or disabled on a system.

Default: NO

Start of changeZHPFOPTS,MAXSIZE={nnnn|SYSTEM}End of change
Start of changeSpecifies the options to be used for the High Performance FICON for IBM z Systems (zHPF) facility. ZHPF may currently be enabled or disabled when this command is issued.
MAXSIZE={nnnn|SYSTEM}
Specifies the maximum data transfer size for zHPF I/O requests. If nnnn is specified, this represents the maximum transfer size in megabytes, where 1 megabyte = 1,048,576 bytes. If the value specified is larger than the maximum data transfer size supported for a device, the device maximum will be used. If SYSTEM is specified, the maximum data transfer size for zHPF I/O requests is determined by the system based on the maximum data transfer size supported by the device and its online CHPIDs.
Warning: The maximum data transfer size should only be set at the direction of IBM support. Otherwise, I/O performance may be affected.

Value range: 1 - 1024 (1 MB - 1 GB) or SYSTEM

Default: SYSTEM

End of change
HYPERWRITE={YES or NO}
Indicates whether IBM® zHyperWrite data replication should be enabled or disabled on a system-wide basis.
Note: Certain using applications, such as DB2®, may also provide their own controls to enable or disable the use of this function.
IBM zHyperWrite processing can be used by I/O drivers, such as Media Manager, for certain write I/O operations to perform software mirroring to peer-to-peer remote copy (PPRC) devices that are monitored for HyperSwap processing (with GDPS or TPC-R). IBM zHyperWrite data replication can be used to reduce latency in these HyperSwap environments. To have maximum benefit, IBM zHyperWrite data replication should only be used when all synchronously mirrored relationships are managed by HyperSwap. Devices support IBM zHyperWrite data replication when the following conditions are true:
  • The devices support IBM zHyperWrite data replication. Both the primary and secondary devices in a synchronous PPRC relationship must support this function.
  • The devices in the synchronous PPRC relationship are managed by HyperSwap (either GDPS HyperSwap or TPC-R HyperSwap).
YES
IBM zHyperWrite data replication is to be enabled system-wide.
NO
IBM zHyperWrite data replication is to be disabled.
Default: YES
SPOF,IGNORE={[(]parameter[)]|(parameter[,parameter]...)|NONE}
Specifies which IOSSPOF service checks to ignore.

parameter is one of the following:

PCU
Specifies that physical control unit single point of failure (SPOF) checks for devices that share the same physical control unit not be performed.
PDRAWER
Specifies that processor drawer SPOF checks for host chpids sharing the same processor drawer not be performed.
Start of changePCUHSWAPEnd of change
Start of changePhysical Control Unit SPOF checks for HyperSwap managed devices ONLY are ignored or not performed.End of change
NONE
Specifies that all SPOF checks be performed.
Default: NONE
Notes:
  1. You cannot specify NONE with any of the other SPOF,IGNORE parameters. If you specify NONE with any of the other SPOF,IGNORE parameters, the system gives you a syntax error for the SPOF,IGNORE statement.
  2. On SPOF,IGNORE statements with a list of parameters, the parameters can appear in any order.
  3. Start of changeThe PCU and PCUHSWAP operands are mutually exclusive with each other.End of change
  4. Start of changeThe PCUHSWAP option only applies for those devices that are in a HyperSwap configuration. If a device is not part of a HyperSwap configuration, a physical control unit SPOF message is issued. Note that a device is not part of a HyperSwap configuration immediately after IPL or immediately after a HyperSwap.End of change
ZHYPERLINK,OPER={ALL|NONE|READ|WRITE}
Start of changeZHL,OPER={ALL|NONE|READ|WRITE}End of change
Specifies that the zHyperLink facility should be enabled for all I/O requests, read I/O requests, write I/O requests or should be disabled for all I/O requests. This parameter is used to enable or disable zHyperLink at a system level. Whether zHyperLink is actually used for an I/O request depends on a number of factors including whether the storage controller supports the zHyperLink facility and whether the I/O request meets the eligibility requirements.
ALL
zHyperLink is enabled for all I/O requests.
WRITE
zHyperLink is enabled only for write I/O requests.
NONE
zHyperLink is disabled for all I/O requests.
Start of changeHYPERSWAPEnd of change
Start of changeThe HYPERSWAP command operand can be used to request an unplanned HyperSwap without altering the current state of any HyperSwap managed device.End of change

Example 1

Change the setting of several classes:
SETIOS MIH,CTC=01:00,STND=04:00,DASD=00:10,HALT=00:08,TAPE=05:00
This command sets time intervals as follows:
  • CHAR, COMM, CTC, GRAF, and UREC device classes: 4 minutes, 0 seconds
  • DASD device class: 0 minutes, 10 seconds
  • HSCH and CSCH I/O instructions: 0 minutes, 8 seconds for all devices in the system
  • TAPE device class: 5 minutes, 0 seconds

Note that the value for the CTC device class is 4:00 because the value specified for STND overrides the value specified for CTC (STND is coded after CTC on the SETIOS MIH command). However, the value for the tape device class is 5:00, because the value specified for TAPE overrides the value specified for STND. (TAPE is coded after STND on the SETIOS MIH command.)

All other classes remain unchanged.

Example 2

Change the setting of one class and an option:
SETIOS MIH,UREC=02:00,MOUNTMSG=YES

This command sets a time interval of 2 minutes, 0 seconds for unit record devices, and specifies that the system should display all mount pending messages. Time intervals for all classes other than UREC remain unchanged.

Example 3

Change the setting of one device with a 4-digit device number:
SETIOS MIH,DEV=/4472,TIME=01:10

This command sets an MIH time interval of 1 minute, 10 seconds for device 4472. All other classes remain unchanged.

Example 4

Create a user class for a device range:
SETIOS MIH,DEV=(431-435),TIME=00:45

This sets an MIH time interval of 45 seconds for devices 431 through 435. All other classes remain unchanged.

Example 5

To set the I/O timing limit to 2 minutes and 30 seconds for device 008, enter:
SETIOS MIH,DEV=008,IOTIMING=02:30

Example 6

Establish an I/O timing limit of 10 minutes for all non-paging DASD devices. Also, establish message-only processing for all DASD devices.
SETIOS MIH,IOTDASD=10:00,MSGONLY=YES

In this example, if any I/O request to any DASD device exceeds the ten minute I/O limit, the system issues a message and records the condition in SYS1.LOGREC, but does NOT abnormally terminate the request. Instead, the system retains the request. Then, if another I/O timing interval expires, the system again issues a message and record the condition in SYS1.LOGREC.

Example 7

Establish an I/O timing limit of one minute for all non-paging DASD devices. Also, set up an I/O timing limit of thirty seconds for devices 180 through 18F.
SETIOS MIH,IOTDASD=01:00,DEV=(180-18F),IOTIMING=00:30

Note in this example that because MSGONLY is not specified, if I/O timing message-only processing had previously been active on any device this SETIOS command is processing, message-only processing is reset and full I/O timing recovery occurs.

Example 8

Delete a device-specific time interval setting. Assume that the MIH time interval for DASD class is 15 seconds, and the MIH time interval for a DASD device 0411 is 31 seconds. Issuing DISPLAY IOS,MIH produces the following display:
IOS086I 12.58.49 MIH AND IOT TIMES 988                        
 MOUNTMSG =  NO,         HALT=00:05, MNTS=03:00, UREC=03:00,       
 DASD=00:15, TAPE=03:00, GRAF=03:00, CTC =03:00, COMM=03:00,       
 CHAR=03:00, IOTDASD=00:00,                                        
 US01=00:30 UDEV=0184, 02E0, 02E4, 02E5, 02E6, 02E7, 02E8, 02E9,   
 US02=00:31 UDEV=0411, 0412, 0413, 0414, 0415, 0416, 0417, 0710. 
Change the MIH interval for device 0411 to be equal to that of the DASD class:
SETIOS MIH,DEV=0411,TIME=00:15
As a result the MIH setting for device 0411 is deleted. Issuing DISPLAY IOS,MIH produces the following display:
IOS086I 13.07.28 MIH AND IOT TIMES 994                       
 MOUNTMSG =  NO,         HALT=00:05, MNTS=03:00, UREC=03:00,      
 DASD=00:15, TAPE=03:00, GRAF=03:00, CTC =03:00, COMM=03:00,      
 CHAR=03:00, IOTDASD=00:00,                                       
 US01=00:30 UDEV=0184, 02E0, 02E4, 02E5, 02E6, 02E7, 02E8, 02E9,  
 US02=00:31 UDEV=0412, 0413, 0414, 0415, 0416, 0417, 0710, 0711.