z/OS MVS Programming: Sysplex Services Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Registering Interest in the Data Item for READ_ DATA Requests

z/OS MVS Programming: Sysplex Services Guide
SA23-1400-00

Prior to coupling facilities at CFLEVEL=5, all READ_DATA requests either register or re-register your interest in the data item. To enable the system to register or re-register your interest, each request must specify a vector entry index on the VECTORINDEX keyword. If you currently have a vector entry index assigned to the data item, you can specify that vector entry. Optionally, you can specify a vector entry that is currently assigned to another data item or one that is currently unassigned.

With a cache structure allocated in a coupling facility with CFLEVEL=5 or higher, you can read a data item with a READ_DATA request without having to register interest in the data item, using the REGUSER=NO specification. It should be noted, however, when choosing not to register interest in a data item, that entries with no registered interest are higher-priority candidates for reclaim processing than entries with registered interest.

The VECTORINDEX keyword is not required when using REGUSER=NO to indicate that interest is not to be registered. The VECTORINDEX keyword is required when REGUSER=YES is specified or defaulted to, and whenever OLDNAME is specified to deregister interest in a data item other than the one being read.

For a given local cache vector, the vector entries start at 0. For example, if a vector contains 3 entries, they are numbered 0, 1, and 2. For an illustration of registered interest in data items, see Figure 1.

Consider specifying a vector entry that is currently assigned to a data item to another data item if you need to contract the size of your local cache buffer and you want to remap your vector entry indexes to data items so you can keep frequently referenced data items in the contracted local cache buffers.

The following is a scenario:
  • You have a protocol that maps each vector entry to a named buffer: for example, vector entry 1 maps to BUFONE, vector entry 2 maps to BUFTWO, and so forth.
  • BUFONE contains data item X, BUFTWO contains data item Y, and BUFTHREE contains data item Z. You no longer need data item Y and you want to free as much local cache buffer storage as possible.
  • Issue the following request to read data item Z into BUFTWO, to associate vector entry 2 with data item Z, and deregister interest in data item Y:
    IXLCACHE REQUEST=READ_DATA,ASSIGN=NO,VECTORINDEX=VECTOR2,           X
             OLDNAME=ONAME,NAME=NNAME,…
    ⋮
    VECTOR2  DC  F'2'       VECTOR ENTRY
    NNAME    DC  CL16'Z'    NEW NAME
    ONAME    DC  CL16'Y'    OLD NAME
    ⋮
  • Free the storage allocated to BUFTHREE.
  • Compress the vector, using IXLVECTR MODIFYVECTORSIZE, so that the unneeded entry 3 is released.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014