One way to change the size of a lock structure is to rebuild
the structure.
About this task
If any of the following conditions are true, you must
rebuild the lock structure in order to change its size:
- The lock structure is allocated in a coupling facility at CFLEVEL=0.
- The allocated size of the structure is already at the maximum
size defined by the SIZE parameter of the CFRM policy, and you need
to increase the maximum limit.
- You want to change the size of the lock table portion of the lock
structure.
Important: For duplexed lock structures, you change
the size of both the primary and secondary structure with a single
command.
Procedure
To change the lock structure size through rebuild, first complete at least one of the
following procedures:
- If you are at maximum size or want to increase the maximum
size that is available, change the CFRM POLICY SIZE to the size that
you want.
- For information on increasing the maximum
size that is defined by the SIZE parameter of the CFRM policy, see Changing the size of the group buffer pool.
- If you are satisfied with the number of lock table entries
that you have been getting, leave the INITSIZE the same. If you want
more lock table entries to decrease your contention rate, change the
INITSIZE to accommodate the added number of entries, by taking either
of the following actions:
- If you are allowing IRLM to determine how many LTE entries to
request, ensure that when you change INITSIZE, it remains a power
of 2 so that there is a 1:1 split between the lock table storage and
the record table storage. For example, if your current INITSIZE is
16 MB, increase it to 32 MB.
- If you are controlling the number of lock table entries by specifying
LTE= in the IRLMPROC or by issuing the MODIFY irlmproc,SET,LTE= command,
your INITSIZE does not need to be a power of 2, but it is still recommended.
You do need to ensure that it is large enough to accommodate the storage
required for your LTE= value and still large enough to create sufficient
record table entries to handle your update volume.
- If you want to change the size of the lock table:
- If your contention rates are low and you want fewer lock
table entries, complete the following procedure:
- If you are letting IRLM control the number of lock entries to
request, you must decrease the INITSIZE by a power of 2.
Important: This also decreases the record table size by half.
- If you want to control the number of lock table entries to request,
issue the MODIFY irlmproc,SET,LTE= command, where the LTE= value reduces
the current number of lock entries by half. For example, assume that
you currently have 16 MB lock entries, specify:
MODIFY irlmproc,SET,LTE=8
This
method increases the number of record table entries, because the INITSIZE
is not altered.
- If your contention rates are high and you want more lock
table entries, complete the following procedure:
- If you are letting IRLM control the number of lock entries to
request, you should increase the INITSIZE by a power of 2. This also
doubles the size of the record table.
- If you want to control the number of lock table entries to request,
issue the MODIFY irlmproc,SET,LTE= command, where the LTE= value increases
the current number of lock entries by powers of 2. For example, assume
that you currently have 8 MB of lock entries, specify:
MODIFY irlmproc,SET,LTE=16
Important: This method decreases the number of record table
entries if the INITSIZE is not altered.
If the INITSIZE
is not large enough to provide the lock table storage and adequate
record table storage, you will experience failures when trying to
write RLE to the coupling facility. If you do not want the record
table size to change, you must increase the INITSIZE by the same amount
of storage that will be used by the additional lock table entries.
For example, assume that you currently have 8 MB of lock table entries
and you issue the following command:
MODIFY irlmproc,SET,LTE=16
With
an INITSIZE of 32 MB, you will not have any storage left for record
table entries. Determine the additional storage needed by using the
following formula:
(lock table entries (new) - lock table entries (old)) x 2 bytes =
additional storage for lock entries
In this example:
(16MB - 8MB) x 2 bytes = 16MB
So
adding 16 MB to the original INITSIZE of 32 MB will result in the
new INITSIZE of 48 MB.
What to do next

After you complete
either of the previously described procedures, issue the following command to start the rebuild of
the lock
structures:
SETXCF START,REBUILD,STRNAME=lock-structure-name
