A fix is available
APAR status
Closed as program error.
Error description
DRA Open Thread performance issues.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All IMS V12 CCTL users exploiting DRA Open * * Thread. This includes CICS 4.2 users. * **************************************************************** * PROBLEM DESCRIPTION: Performance degredation issues * * specifically encountered by CICS TS 4.2 * * users that exploit threadsafe for * * IMS DRA threads. * **************************************************************** * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF * **************************************************************** Two significant performance degredation issues are addressed: 1. DFSPRRC0 and DFSPAT10 are issuing GETMAIN and FREEMAIN for every DRA thread request. 2. A WLM Performance Block (PB) is obtained and released every PSB schedule. Additional issues: Thread hung in create thread, schedule PSB proessing. The save flow contains the following module flow: DFSDASC0 -> DFSDASP0 -> DFSDBLM0 -> DBFINTE0 -> DFSISWIT The TCB is waiting to be resumed by ISWITCH TO=RET that has already been done. However, the thread dispather work area contains the wrong TCB.
Problem conclusion
GEN: KEYWORDS: *** END IMS KEYWORDS *** Performance issue 1 solution: ============================= Reduction of GETMAIN and FREEMAIN calls from DFSPRRC0 and DFSPAT10. DFSPRRC0 will build and utilize cell pool storage for itself Module and Macro changes supporting this change: DFSPRRC0 - Build and utilize cell pool storage for itself as well as provide the needed storage for DFSPAT10. DFSPAT10 - Set compiler option to specify DFSPRCST gets module storage. DFSPAC - Add CPOOL storage ID field Performance issue 2 solution: ============================= Eliminate calling WLM to obtain and release PBs for every PSB schedule. Obtain a pool of WLM performance blocks during connection to IMS processing for DRA Open Thread environment. Threads will claim a PB from the pool during signon and only release it at signoff or abnormal thread termination. IMSAUTH - add WLM_PBPOOL function code x'84' New return codes for WLM_PBPOOL: RC - Meaning 04 Caller is not under the TCB that issued IDENTIFY. 08 Dependent Region Directory block not located. 0C Region IDENTIFY block not found. 10 Call made from unsupported region type. 14 Invalid function request. 20 Create caller not authorized 24 Second Create PB Pool is not allowed. 28 Failed to get storage for DFSWLMPP block. 2C WLM Get PB blocks failed for CREATE request. 40 No PB Pool block was located for ADD request. 44 ADD request not issued from same TCB as CREATE. 48 Failed to get storage for ADD PBs request. 4C WLM Get PB blocks failed for ADD request. 60 DELETE caller is not authorized. DFSV4200 - add WLM_PBPOOL function, CREATE, ADD and DELETE CREATE subfunction - Get PB Pool header, DFSWLMPP. Obtain initial pool of PBs. The PBCOUNT is equal to min + max thread. ADD subfunction - Get additional PBCOUNT PBs DELETE subfunction - Delete all PBs and related PB pool storage DFSAERI0, DFSPRA10 - Add MAXTHD to DFSSSOB IDENTIFY call DFSDASI0 - Issue IMSAUTH WLM_PBPOOL CREATE during IDENTIFY processing. Module is converted to use branch relative. DFSDASS0 SIGNON - Claim PB from pool during signon processing. If no PBs are available, set signon feedback and defer PB claim to PSB schedule. SIGNOFF - Return pool PBs to the pool for reuse. DFSPINI0 - Check signon feedback for PBs needed and enqueue request more PBs to DRA control routine DFSPRRA0. DFSDASP0 - Claim PB from pool is needed, set schedule feedback if more PBs needed. If no PBs are available from the pool, issue DFSWLME call to obtain one. DFSPSCH0 - Check schedule PSB feedback for PBs needed and enqueue request to DRA control. DFSDAST0 - Delete WLM PB for DRA Open Thread if not obtained from the pool DFSDTTA0 - Reset flag bits in DFSWLMWK. DFSDASD0 - Issue IMSAUTH DELETE during Terminte Identify call processing. DFSPRRA0 - Add routine to issue IMSAUTH ADDPB DBFDBF00 - Recompile for DFSSSOB changes to CNBA offset DFSDPDIR - Add anchor pointer DPPBPOOL for DFSWLMPP block DFSPQE - Add PQE function to request additional PB pool DFSSSOB - Add MAXTHD= parameter for IDENTIFY function. Relocated SSPICNBA. DFSTRSOB - Updated SSOB byte trace with codes for PB pool diagnostic trace codes. DFSWLME - Add PBPOOL request to obtain a pool of PB from WLM DFSWLML - Add PBPOOL support to delete PB by address DFSWLMPP - New macro defines the WLM PB pool blocks. Hung thread in PSB schedule. ============================ DFSDASC0 - Update the dispatcher workarea with the current TCB for DRA Open Thread calls. Updates to IMS V12 documentation: GC189715xx Messages and Codes, Volume 4: IMS Component Codes Chapter 2: IMS system services return codes Section: IMSAUTH return codes Subsection: IMSAUTH WLM_PBPOOL (84) --------------------------------------------------------------- Return Code - Meaning 04 Caller is not under the TCB that issued IDENTIFY. 08 Dependent Region Directory block not located. 0C Region IDENTIFY block not found. 10 Call made from unsupported region type. 14 Invalid function request. 20 Create caller not authorized 24 Second Create PB Pool is not allowed. 28 Failed to get storage for DFSWLMPP block. 2C WLM Get PB blocks failed for CREATE request. 40 No PB Pool block was located for ADD request. 44 ADD request not issued from same TCB as CREATE. 48 Failed to get storage for ADD PBs request. 4C WLM Get PB blocks failed for ADD request. 60 DELETE caller is not authorized.
Temporary fix
********* * HIPER * *********
Comments
POSTREQ PM97386 PINNED RP13/09/18 (ATXT) TO ADD POSTREQ PM97386 INFO. **** PE13/09/18 PTF IN ERROR. SEE APAR PM97386 FOR DESCRIPTION. ×**** PE13/09/19 FIX IN ERROR. SEE APAR PM97386 FOR DESCRIPTION
APAR Information
APAR number
PM60830
Reported component name
IMS V12
Reported component ID
5635A0300
Reported release
200
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2012-03-20
Closed date
2012-09-14
Last modified date
2014-10-20
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UK81843
Modules/Macros
DBFDBF00 DFSAERI0 DFSDASC0 DFSDASD0 DFSDASI0 DFSDASP0 DFSDASS0 DFSDAST0 DFSDPDIR DFSDTTA0 DFSPAPL DFSPAT10 DFSPINI0 DFSPRA10 DFSPRP DFSPRRA0 DFSPRRC0 DFSPSCH0 DFSSSOB DFSTRSOB DFSV4200 DFSWLME DFSWLML DFSWLMPP DFSWLMWK IMSAUTH
GC18971500 |
Fix information
Fixed component name
IMS V12
Fixed component ID
5635A0300
Applicable component levels
R200 PSY UK81843
UP12/09/18 P F209
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Platform":[{"code":"PF054","label":"z Systems"}],"Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
14 December 2020