A fix is available
APAR status
Closed as program error.
Error description
Current design of 64-bit buffer manager can cause serious issues such as Spin Loops, loss of z/OS, in a CPU constrained system where the CTL region does not have a higher dispatching priority than dependent regions. When there are buffers on the intermediate queue but none on the available queue, and a dependent region needs a DEDB buffer, DBFBPNI0 running under dependent region posts DBFBPNK0 ITASK running under XFP TCB in CTL region to move the buffers to the available queue. DBFBPNI0 waits 1/4 millisecond, checks the available queue again, and if buffers are still not available, posts DBFBPNK0 again. In a CPU constrained system, DBFBPNK0 may not be able to run fast enough, and the IPOST SRBs generated by the dependent regions overwhelm the CTL region and eventually the z/OS dispatcher. A better mechanism needs to be used here.
Local fix
Problem will not happen so long as the CTL region runs at a higher dispatching priority/service class then the dependent regions. System also needs to be CPU constrained for the problem to occur.
Problem summary
**************************************************************** * USERS AFFECTED: IMSFP V11 DEDB FPBP64=Y Fast Path 64-bit * * buffer users. * **************************************************************** * PROBLEM DESCRIPTION: Z/OS SPIN LOOP USING FPBP64=Y 64-BIT * * DEDB BUFFERING WHEN CTL REGION * * DISPATCH PRIORITY IS NOT HIGHER * * THAN DEPENDENT REGIONS. * **************************************************************** * RECOMMENDATION: INSTALL CORRECTIVE SERVICE FOR APAR/PTF * **************************************************************** Current design of 64-bit buffer manager can cause serious issues such as Spin Loops, loss of z/OS, in a CPU constrained system where the CTL region does not have a higher dispatching priority than dependent regions. When there are buffers on the intermediate queue but none on the available queue, and a dependent region needs a DEDB buffer, DBFBPNI0 running under dependent region posts DBFBPNK0 ITASK running under XFP TCB in CTL region to move the buffers to the available queue. DBFBPNI0 waits 1/4 millisecond, checks the available queue again, and if buffers are still not available, posts DBFBPNK0 again. In a CPU constrained system, DBFBPNK0 may not be able to run fast enough, and the IPOST SRBs generated by the dependent regions overwhelm the CTL region and eventually the z/OS dispatcher.
Problem conclusion
GEN: KEYWORDS: *** END IMS KEYWORDS *** The following changes have been made to correct the reported problem: DBFESCD: Add flag ESCDF3P6 x'40' in field ESCDFLG3 to indicate DBFBPNK0 itask is processing. DBFBPNI0: Add code to post DBFBPNK0 itask only when flag ESCDF3P6 is not set. Use compare and swap instruction to set ESCDF3P6 prior posting DBFBPNK0. Add 1/10 of a millisecond to STIMERM time interval each time it retry to get a buffer. DBFBPNK0: Use compare and swap instruction to reset ESCDF3P6 prior to issue IWAIT to wait for work. DBFBPNI0: Add code to post DBFBPNK0 itask only when flag ESCDF3P6 is not set. Use compare and swap instruction to set ESCDF3P6 prior posting DBFBPNK0. DBFSDEQ0: Add code to post DBFBPNK0 itask only when flag ESCDF3P6 is not set. Use compare and swap instruction to set ESCDF3P6 prior posting DBFBPNK0. DBFSYP20: Add code to post DBFBPNK0 itask only when flag ESCDF3P6 is not set. Use compare and swap instruction to set ESCDF3P6 prior posting DBFBPNK0. DBFXCFL0: Add code to post DBFBPNK0 itask only when flag ESCDF3P6 is not set. Use compare and swap instruction to set ESCDF3P6 prior posting DBFBPNK0. DBFCSTS0, DBFFATC0: Update code to use compare and swap instruction to set/reset flag ESCDF3CS in flag field ESCDFLG3.
Temporary fix
********* * HIPER * *********
Comments
APAR Information
APAR number
PM85835
Reported component name
IMS V11
Reported component ID
5635A0200
Reported release
100
Status
CLOSED PER
PE
NoPE
HIPER
YesHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2013-03-28
Closed date
2013-05-14
Last modified date
2013-06-04
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
DBFBPNI0 DBFBPNK0 DBFCST00 DBFESCD DBFFATC0 DBFSDEQ0 DBFSYP20 DBFXCFL0
Fix information
Fixed component name
IMS V11
Fixed component ID
5635A0200
Applicable component levels
R100 PSY UK94300
UP13/05/15 P F305
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"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"100","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVRBJ","label":"System Services"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"100","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
04 June 2013