gtpm1m2a | TPF V4R1 Migration Guide: 3.1 to 4.1 |
Because processors are providing larger and larger storage sizes, and system tables are growing, dump size is now a serious concern. Not only can dumps become enormous, but while a dump is being written, the central processing complex is prevented from doing other work.
In the TPF 4.1 system, there are two ways to solve this problem:
The SNAPC macro does not pause the TPF 4.1 system and uses fewer processor resources than the SERRC macro. You can use the SNAPC macro for:
You can control the content of your SERRC dumps by selecting which large areas or tables you want in certain dumps.
The relationship of the macros and tables described in the following sections is shown in Figure 7.
See the TPF Program Development Support Reference for more information about dumps.
IBM ships a list of predefined keywords for large IBM storage areas in the new IDATB macro. These keywords are defined using IDATG macro calls. When IDATB is assembled, these calls generate entries in the selective memory dump table (SMDT). Entries in the SMDT represent data areas that are normally excluded from dumps. All of the IBM predefined areas start with I; for example, ICLH represents the CLH block management tables.
The IDATB macro contains a call to the UDATB macro, which contains user IDATG calls for your use. You can code your own IDATG calls to associate keywords with regions of storage that you want to exclude from (or include in) dumps using the IDATG calls in the IDATB macro as an example. You can also code IDATG DUMMY calls to generate SMDT entries that will be available for use when creating temporary keywords using the ZIDOT command. Include your IDATG calls in the UDATB macro.
The areas defined in the SMDT will not be included in dumps unless a dump override is created for a particular system error requesting that a storage area be included. The IDOTB macro maps specific system error numbers to keywords, creating dump overrides. The IBM dump overrides are coded on IDOTB macros in the CIDP segment. When the CIDP segment is assembled, these calls generate entries in the IBM static override bitmap table (SOBT).
You can code your own dump overrides using IDOTB calls in copy member CUDP of the CSECT CCUEXT user exit by using the IBM IDOTB calls in the CIDP segment as an example. Your IDOTB calls will generate entries in the user SOBT.
Once the TPF 4.1 system is up and running, you can use the ZIDOT command to:
You can code a prefix on IDOTB calls to distinguish between your own system error numbers and those provided by IBM. IBM reserves prefixes I, W, X, Y, and Z for its own use. You can use other prefixes to distinguish between or to group system errors. If you do not code a prefix, the prefix defaults to U.
The prefix determines which dump override tables the TPF 4.1 system will refer to when a system error occurs. (There is one exception to this. The ANSI C functions exitand perror cannot accommodate a prefix character, so you and IBM must share a single set of system error numbers for these functions.)
You do not need to code any of these macros or use the ZIDOT command to migrate to the TPF 4.1 system. Rather, you can use the selective memory dump table (SMDT) that is built by the IDATG calls that IBM provides. But, if you want to include areas that are excluded by default (such as the global areas), you can do one of the following:
You do not need to reassemble all of your application programs or change all of your SERRC macro calls to use the new prefix capability. All IBM SERRC macro calls are prefixed with the letter I. The SERRC service code will supply a default prefix of U for all other code. When you issue the ZIDOT command to include or exclude specific areas in your dump, you must include the prefix. If you are allowing the prefix to default to U, code this prefix on the ZIDOT command or the IDOTB macro.
In summary, the IDATB and UDATB macros provide IDATG calls to the SMDT, mapping keywords to addresses of large storage areas. The areas identified in the SMDT are excluded from dumps.
The IDOTB macro allows you to associate specific system error numbers with the keywords contained in the SMDT. These dump overrides are contained in the static override bitmap table (SOBT) that applies (depending on the prefix, which reflects who has issued the error). The SOBTs are contained in the CIDP and CUDP copy members after assembly.
The ZIDOT command allows you to override the appropriate SOBT by creating entries in the dynamic override bitmap table (DOBT). The ZIDOT command also allows you to create overrides for system errors for which no IDOTB macros were coded.
Figure 7. Components of Dump Content Control