z/OS Language Environment Customization
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Placing Language Environment modules in link pack and LIBPACK

z/OS Language Environment Customization
SA38-0685-00

Placing routines in the LPA/ELPA reduces the overall system storage requirement by making the routines shareable. Also, initialization/termination (init/term) time is reduced for each application, since load time decreases. For example, if Language Environment® modules are not placed in LPA/ELPA, then under z/OS UNIX, every fork() call will require approximately 4 MB to be copied into the user address space.

The SCEERUN data set has many modules that are not reentrant, so you cannot place the entire data set in the Link Pack Area (LPALSTxx parmlib). There is a data set called SCEELPA that contains a subset of the SCEERUN modules: those that are reentrant, reside above the line, and are heavily used by z/OS itself. If you put the SCEERUN data set in the linklist (LNKLSTxx), you can place the SCEELPA data set in LPA list (LPALSTxx). Doing this will improve performance.

You cannot place the SCEERUN2 data set as part of a LPALSTxx because it is a PDSE. You must use the Dynamic LPA capability to move individual members of SCEERUN2 into the Link Pack Area.

You can also add additional modules to the LPA, using the Modify Link Pack Area (MLPA=) option at IPL. You can also use the Dynamic LPA capability (SET PROG=). Using the Dynamic LPA method avoids the performance degradation that occurs with the use of MLPA.

Choose which routines to put in the LPA/ELPA. See Modules eligible for the link pack area for a complete list of modules you may place in the LPA/ELPA.

Several members are installed in CEE.SCEESAMP for you to use as examples in creating your IEALPAnn or PROGxx member. Table 1 lists the members and their content.

Table 1. Language Environment sample IEALPAnn or PROGxx members in CEE.SCEESAMP
Member name Description
CEEWLPA All Language Environment base modules eligible for the LPA except callable service stubs. Uses Dynamic LPA.
EDCWLPA All C/C++ component modules eligible for LPA from SCEERUN and SCEERUN2. Uses Dynamic LPA.
IGZWMLP4 All Language Environment COBOL component modules eligible for LPA.
IBMALLP2 All Language Environment PL/I component modules eligible for LPA
IBMPLPA1 MLPA macro for Enterprise PL/I
AFHWMLP2 All Language Environment Fortran modules eligible for LPA

If you want to load modules into the LPA, you do not need to place CEE.SCEERUN or CEE.SCEERUN2 in the LNKLSTnn member. However, if CEE.SCEERUN or CEE.SCEERUN2 is not in the LNKLSTnn member, you need to make modules that are not included in the link pack areas available to your application programs by copying the modules into a data set that can be either included in the LNKLSTnn or used as a STEPLIB.

Using the entire CEE.SCEERUN or CEE.SCEERUN2 data set as a STEPLIB defeats the purpose of placing the modules in the LPA.

Shared storage considerations

  • Modules you copy into another (non-LPA) data set are not automatically updated by SMP/E when you apply a service update. You must rerun your copy job after you apply service to Language Environment to make the updated modules available in the LNKLSTnn data set or in the STEPLIB.
  • Examine the lists carefully to make sure that you are installing the correct module for the national language support you have installed. Comments in CEEWLPA, EDCWLPA, and IBMALLP2 identify the Japanese modules. In IGZWMLP4, remove the module name IGZCMGEN if you do not want US English mixed-case to be in the LPA and add IGZCMGJA if Japanese is installed and you want it to be in the LPA.
  • For more information about including modules in the LPA, see z/OS MVS Initialization and Tuning Reference.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014