PJ40485: MANY ECB'S CAN QUEUE TO INACCESABLE SOCKET
Closed as program error.
See Problem Summary.
APAR NUMBER: PJ40485 PRODUCT: z/TPF FUNCTIONAL AREA: TCP/IP NATIVE STACK SHIPPED IN PUT: 10 ABSTRACT: Socket monitoring of seckets with ECBs queued to send. PACKAGE CONTENTS: Source Segments: (C) base/cp/ctsm.cpy (C) base/include/tpf/iusmo.h (C) base/include/tpf/i_pwbl.h (C) base/macro/ipwbl.mac (C) base/macro/isock.mac (C) base/macro/iusmo.mac (C) base/rt/cmvp.asm (C) base/rt/ctfe.asm (C) base/rt/cts8.asm (C) base/rt/usmo.c Object Only Binaries: None. Configuration Independent Binaries: (C) base/load/CMVP.so (C) base/load/CTFE.so (C) base/load/CTS8.so (C) base/obj/cmvp.o (C) base/obj/ctfe.o (C) base/obj/cts8.o Support Files: base/lst/cmvp.lst base/lst/ctfe.lst base/lst/cts8.lst base/lst/CMVP.map base/lst/CTFE.map base/lst/CTS8.map OTHER BINARIES TO BUILD: YES (C) <sys>/load/CPS0.so (C) <sys>/load/USMO.so (C) <sys>/obj/cctcp3.o (C) <sys>/obj/usmo.o (C) os390/bin/ppcp.pds (C) os390/obj/stpp.o COMMENTS: ECBs queued up to send on a socket can deplete system resources to critically low levels. Socket monitoring for high ECB queue counts on sockets will allow the customer to use the USMO user exit to handle these conditions.
SOLUTION: This enhancement allows the socket monitor to keep track of the number of ECBs that issued a send type API (send(), sendto(), write(), and writev()) for a given socket and are queued up (suspended) because that socket is blocked. If the number of queued ECBs for a given socket reaches certain thresholds (threshold values are 10, 25, 50, and 100), the existing socket monitor user exit, USMO, will be activated. This allows the customer to determine what action to take for the socket (such as closing the socket, which would cause all the queued ECBs for that socket to be posted so they can go away). Similar to other conditions the socket monitor detects, the user exit will be called at most once per minute per socket for each threshold reached. The user exit is called immediately when the threshold is reached. For example, the instant that an 11th ECB becomes queued waiting to send on a socket, the user exit will be called at the point in time (does not wait for a minute boundary to call the exit). Input to the user exit will include the condition (send ECBs threshold exceeded), the IP addresses and ports of the socket, the file descriptor for the socket, and the threshold level just exceeded for this socket. The default logic in the user exit is to do nothing. In addition, the output of the SOCK0043I message, which is the normal reply for the 'ZSOCK DISPLAY FORMAT SOCK-xxxxxx' command, has been modified with the following additional information: the real address of the socket block in memory and the current send threshold value along with the current send threshold length. A threshold value of 32767 indicates that the maximum threshold length of 100 has been exceeded. COREQS: NO None. MIGRATION CONSIDERATIONS: YES Functional, automation, and operation changes: SOCK0043I User exit changes: The USMO socket monitor user exit now has another defined condition to indicate that one of the send(), sendto(), write(), or writev() ECB queue length thresholds has been exceeded. Input to the user exit will include the condition (send ECBs threshold exceeded), the IP addresses and ports of the socket, the file descriptor of the socket, and the threshold value that was just exceeded on sends for this socket. ZNKEY SOCKMON-YES must be entered to activate socket monitoring if users would like to have the socket monitor user exit called for this condition or any of the other previously defined conditions. BUILD COMMANDS AND INSTRUCTIONS: YES #maketpf commands for linux maketpf -f CPS0 cctcp3.o maketpf -f USMO usmo.o maketpf -f CTS8 cts8.o maketpf -f CTFE ctfe.o maketpf -f CMVP cmvp.o maketpf CPS0 link maketpf USMO link TPF_VERIFY_LINK_REFS=NO maketpf CTS8 link maketpf CTFE link maketpf CMVP link maketpf USMO link #maketpf commands for z/OS maketpf -f ppcp stpp.o maketpf ppcp link UPDATED INFORMATION UNITS: YES z/TPF Operations z/TPF TCP/IP See your IBM representative if you need additional information. DOWNLOAD INSTRUCTIONS: http://www.ibm.com/software/htp/tpf/maint/maintztpf.html APAR URL: http://www.ibm.com/software/htp/tpf/ztpfmaint/put10/PJ40485.htm
Reported component name
Reported component ID
NoSpecatt / Xsystem
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
Fixed component ID
Applicable component levels