Skip to main content

Transaction Processing Facility (TPF) - Online Maintenance TPF : Support : Maintenance TPF : Support : Maintenance

JavaScript not Active

This page uses JavaScript. You must activate JavaScript in your browser to be sure youare able to view all of the information.

SUBJECT:         APAR  NUMBER: PJ27719  (HIPER)
 
REFERENCE:  AREA:     TCP/IP NATIVE STACK
            SEGMENT:  CTT140     - RELEASE:  TPF4  (Copy)
            SEGMENT:  CTT340     - RELEASE:  TPF4  (Copy)
            SEGMENT:  CTT840     - RELEASE:  TPF4  (Copy)
            SEGMENT:  IPCCW40    - RELEASE:  TPF4  (Dsect)
 
 
Pre-requisite APARs are:
FOR SEGMENT CTT140     (Copy)      - REL TPF4
 PJ26683  PJ27268  
FOR SEGMENT CTT340     (Copy)      - REL TPF4
 PJ26683  
FOR SEGMENT CTT840     (Copy)      - REL TPF4
 PJ26683  
FOR SEGMENT IPCCW40    (Dsect)     - REL TPF4
 PJ26683  
To be applied in the order listed for each segment.

ABSTRACT OF PROBLEM
___________________
IP over CDLC polling enhancement.
 

COMMENTS ON PROBLEM
___________________
The  IP over CDLC link layer used by TCP/IP native stack support
(APAR PJ26683) is modeled after TPF's  SNA  over  CDLC  support.
When  an I/O operation completes, the system must decide whether
to issue a write, a read, or not do  another  I/O  operation  at
this  time.    If  the size of the IP output queue is large, TPF
will  invoke  the  write  routine  in  an  effort  to  free   up
buffer/core resources before reading in more input messages.  In
this  case  if  any  output  messages on the IP output queue are
associated with the local  IP  address  assigned  to  this  CDLC
router,  a write I/O will be done.  If the size of the IP output
queue remains large and applications  generate  output  messages
fast  enough  such  that there is always at least one new output
message that can be sent to this CDLC IP router when a write I/O
completes, TPF will keep issuing write I/Os.  If this  situation
persists  for an extended period of time, the result can be link
slowdown or link failure because reads are not being issued fast
enough.
 
There are two different scenarios that can lead to the situation
described above.
 
1.  Items build up on the IP output queue and most are not asso-
ciated with any active IP router, therefore, the size of the  IP
output  queue  becomes  large  and remains large.   In addition,
output messages that can be sent to this specific IP router  are
continually generated such that there is always at least one new
message to send when a write I/O completes.  One function of the
socket  sweeper program is to remove undeliverable messages from
the IP output queue and, therefore, prevents a  large  queue  of
undeliverable messages from building up.  However, if a customer
disables  the  socket  sweeper program, a queue of undeliverable
messages can build up over time and once the queue size  becomes
large,  it  will never become small, resulting in the CDLC write
routine being called all the time.
 
2.  Messages on the IP output queue  are  being  processed,  but
applications are generating output messages faster than they can
be sent to the IP routers.  In between the time that a write I/O
operation  starts  and  completes,  many new output messages are
generated for this IP router such that the size of the IP output
queue is always large.  There is fail safe  polling  logic  that
says  once  every second to issue a read on an IP router even if
an attention interrupt has not been received.    This  code  was
created  to  handle  the  case  where an attention interrupt was
lost.  If the fail safe polling code wants  to  do  a  read  but
there  is  a  write  I/O already in progress, the read cannot be
started at this time and will not be done until  the  system  is
finished with the current and subsequent write operations.
 

SOLUTION
________
To  better handle scenario #1, the IP over CDLC code that checks
to see if the size of the IP output  queue  is  large  has  been
enhanced  to  also check to see if the number of messages on the
queue that can be sent to this IP router is enough to fill up  a
write  channel  program.    If  yes,  a  write I/O will be done.
However, if the size of the IP output queue is large, but  there
are  not  enough  messages for this IP router to fill up a write
channel program, the code will no longer automatically call  the
write  routine.  Instead, it will do a read in this situation if
an attention interrupt has been received.    IBM  also  strongly
recommends  that  customers  run with the socket sweeper program
enabled to prevent potential problems like  this  in  the  first
place.
 
For  scenario #2, the fail safe polling logic has been enhanced.
If TPF goes one second without  issuing  any  reads  for  an  IP
router,  a  read will now be done when the current I/O operation
completes regardless of how many messages are on the  IP  output
queue.    This  guarantees  that  TPF  will not go more than one
second without reading from an IP router, provided that there is
a CDLC read buffer available.  Note that if read buffers on  the
input list are not being processed (for example, TPF is in input
list  shutdown), it will not be possible to issue the read until
a read buffer becomes available.  Also note that if you generate
output messages faster than they can be sent to IP  routers  and
do  this  for  extended  periods  of  time,  you  have a network
capacity problem and need to connect more IP routers to your TPF
system to handle the load.
 
DEPENDENCIES
____________
 
Related Segments Affected By This APAR.
_______________________________________
 
Segments to be assembled or compiled:
CCTCP1
 
Segments to be link edited:
CPS0
 
Load Modules to be loaded:
None.
 
Migration Considerations
========================
None.
 
-- END APAR PJ27719
 
 
 
 
 
                                                                            1
 
 
 
 
 
 
 
 
 



Download file(s): Login once to access server, leave window open, then click on link(s) below. Source