gtps1m5kSystem Macros

TMSLC-Time Slice an ECB

Use this system macro to:

When an ECB is enabled for time slicing, it loses control at defined time intervals. This allows other tasks in the TPF system to receive control.

Required Authorizations
Key0 Restricted System Common Storage

X

Format




label
A symbolic name can be assigned to the macro statement.

ENABLE
Allow the ECB to time slice.

When the entry control block (ECB) reaches the RUNTIME value without giving up control, it gets suspended. The ECB will remain suspended for the value specified in the MINSUSP parameter.

Note:
RUNTIME and MINSUSP are values defined with the NAME parameter. If you specify HOLD=NO and the ECB is holding a resource, the ECB will not get suspended.

NAME=name
The time-slice name parameter is a 1-8 character name. The time-slice name has four time-slice parameters associated with it. The four parameters are RUNTIME, MAXTIME, MINSUSP, and MAXECB.

The predefined time slice names and values of the parameters associated with them are given in Table 8.

HOLD=YES|NO
Indicates if the ECB can be suspended while holding a resource (FIWHC, CORHC, ENQC, EVNWC, TASNC, SYNCC LOCK).
Note:
This does not apply to resources that are held with the $LOCKC macro.

EXCD=label1
The address to which control is passed if the maximum number of ECBs that can be time sliced are already active for the specified time-slice name.

NOTFND=label2
The address to which control is passed if the NAME parameter contains a name that is not recognized.

DISABLE
Disable time slicing. Return the ECB to normal operation.

LETRUN
Used with the DISABLE parameter to determine if the ECB continues to run or gives up control.

YES
The ECB will not lose control.

NO
The ECB will lose control unless time slicing is enabled with HOLD=NO and the ECB is currently holding a resource.

ASSIGN
Assign time-slicing attributes to a time-slice name.

NAME=name
The time-slice name parameter is a 1 to 8 character name. The time-slice name has four time-slice parameters associated with it. The four parameters are RUNTIME, MAXTIME, MINSUSP, and MAXECB.

The predefined time-slice names and values of the parameters associated with them are given in Table 8.

RUNTIME=rtime
The amount of CPU time (from 10 through 500 ms) the ECB is allowed to use without giving up control before it is time-sliced.
Note:
This value cannot exceed the value that is generated by the system initialization program (SIP) for the application timeout counter (set by IBM to 500 ms).

MAXTIME=mtime
The maximum amount of accumulated runtime (from 0 ms through 9 999 999 ms) the ECB can use before taking a system error. A value of 0 means the ECB can run indefinitely.

MINSUSP=minsusp
The minimum amount of time (from through 9999 ms) that the ECB will be suspended if it is time sliced.

MAXECB=maxecb
The maximum number of ECBs (from through 9999) that can be active and enabled for time slicing with this time-slice name.

Entry Requirements

Return Conditions

Control returns to the next sequential instruction (NSI).

Programming Considerations

Examples