z/OS Communications Server: IP CICS Sockets Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


How CICS selects an L8 mode TCB

z/OS Communications Server: IP CICS Sockets Guide
SC27-3649-00

The CICS® dispatcher manages the pool of L8 mode TCBs up to the limit set by the MAXOPENTCBS system initialization parameter. At any one time, the pool can consist of some TCBs that are allocated to tasks, and others that are free. For example, if the maximum number of L8 mode TCBs is set to 10, at a particular time the pool can consist of 5 TCBs, not all of which are allocated to running tasks. The CICS dispatcher attaches a new TCB when it cannot find a free TCB that is suitable. The process of allocating an L8 mode TCB is summarized in the following steps:

  1. If the transaction already has an L8 mode TCB allocated, it is used.
  2. If there is a free L8 mode TCB for the current subspace, it is allocated and used.
  3. If the number of open TCBs is less than the MAXOPENTCBS limit, a new L8 mode TCB is created, and associated with the task's subspace.
  4. If the number of open TCBs is at the MAXOPENTCBS limit, but there is a free L8 mode TCB with the wrong subspace, then the CICS dispatcher destroys it and creates a new one for the required subspace. This technique avoids suspending the task until the number of TCBs is less than the pool limit, and is called stealing. This action is recorded in the CICS dispatcher TCB mode statistics under the count of TCB steals.
  5. If the number of open TCBs is at the MAXOPENTCBS limit and there is no free open TCB to steal, the task is suspended (with an OPENPOOL wait) until one becomes free, or the MAXOPENTCBS limit is increased.

The various events that can occur during the TCB allocation process are recorded in the dispatcher TCB pool statistics, and these are reported by the DFH0STAT statistics program.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014