IBM Support

OA31116: VARIOUS LARGE PAGE COALESCE AND RECOVERY FIXES

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • THIS APAR FIXES THE FOLLOWING LARGE PAGE RELATED PROBLEMS:
    
    1) INSTALLATIONS CAN USE THE LFAREA PARAMETER TO DEFINE
       THE SIZE OF THEIR LARGE PAGE AREA. ONCE DEFINED,
       THIS AREA CAN ONLY USED FOR LARGE PAGE REQUESTS.
       THE ONLY EXCEPTION TO THIS RULE WAS WHEN THE SYSTEM
       WAS STORAGE CONSTRAINTED. WHEN STORAGE IS
       CONSTRAINED, RSM WILL BREAK UP A LARGE PAGE INTO
       256 4K PAGES IN ORDER TO SATISFY 4K PAGE REQUESTS.
       WHEN STORAGE IS NO LONGER CONSTRAINED, RSM WILL
       PERFORM LARGE PAGE COALESCE (I.E. REFORM THE 256
       BROKEN UP 4K PAGE BACK INTO 1 LARGE PAGE). THISEMS,
       APAR WILL FIX VARIOUS LARGE PAGE COALESCE PROBLEMS,
       INCLUDING FIXING THE LOGIC TO ACTUALLY BREAK UP A
       LARGE PAGE.
    2) RSM RECOVERY DOES NOT PROPERLY CLEAN UP LARGE PAGES
       OR BROKEN UP LARGE PAGES (I.E. LARGE PAGE SINGLES)
       DURING TASK/ADDRESS SPACE TERMINATION IF LARGE PAGES
       OR LARGE PAGE SINGLES ARE ALLOCATED.  THIS CAN
       RESULT IN PERMANENT LOSS OF THESE LARGE PAGES AND
       LARGE PAGE SINGLES.
    
    3) Virtual storage shortage (or growth) in Subpool 255
       Key0.  A single getmain (of size x'56AB7210', though
       this size will vary) from IAXVU +x'A3C' for an LVST.
       This occurs when IAXV2 calls IARVUELV (IAXVU) to
       request LVST space, but the IAXVU_Parmlist is not
       initialized, specifically the IAXVU_EstElems is not
       set and ends up with an arbitrary (residual) value
       because the dynamic parmlist in IAXV2 used for
       IAXVU_Parmlist is also used for several other
       parmlists for other unrelated macro invocations.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of HBB7750 and up.                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: Various large page coalesce and         *
    *                      recovery fixes                          *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    -  INSTALLATIONS CAN USE THE LFAREA PARAMETER TO DEFINE
       THE SIZE OF THEIR LARGE PAGE AREA. ONCE DEFINED,
       THIS AREA CAN ONLY BE USED FOR LARGE PAGE REQUESTS.
       THE ONLY EXCEPTION TO THIS RULE WAS WHEN THE SYSTEM
       WAS STORAGE CONSTRAINED. WHEN STORAGE IS
       CONSTRAINED, RSM WILL BREAK UP A LARGE PAGE INTO
       256 4K PAGES IN ORDER TO SATISFY 4K PAGE REQUESTS.
       WHEN STORAGE IS NO LONGER CONSTRAINED, RSM WILL
       PERFORM LARGE PAGE COALESCE (I.E. REFORM THE 256
       BROKEN UP 4K PAGE BACK INTO 1 LARGE PAGE). THIS
       APAR WILL FIX VARIOUS LARGE PAGE COALESCE PROBLEMS,
       INCLUDING FIXING THE LOGIC TO ACTUALLY BREAK UP A
       LARGE PAGE.
     - RSM RECOVERY DOES NOT PROPERLY CLEAN UP LARGE PAGES
       OR BROKEN UP LARGE PAGES (I.E. LARGE PAGE SINGLES)
       DURING TASK/ADDRESS SPACE TERMINATION IF LARGE PAGES
       OR LARGE PAGE SINGLES ARE ALLOCATED.  THIS CAN
       RESULT IN PERMANENT LOSS OF THESE LARGE PAGES AND
       LARGE PAGE SINGLES.
     - Virtual storage shortage (or growth) in Subpool 255
       Key0.  A single getmain (of size x'56AB7210', though
       this size will vary) from IAXVU +x'A3C' for an LVST.
       This occurs when IAXV2 calls IARVUELV (IAXVU) to
       request LVST space, but the IAXVU_Parmlist is not
       initialized, specifically the IAXVU_EstElems is not
       set and ends up with an arbitrary (residual) value
       because the dynamic parmlist in IAXV2 used for
       IAXVU_Parmlist is also used for several other
       parmlists for other unrelated macro invocations.
    

Problem conclusion

  • The code is changed to implement the various
    large page coalesce and recovery fixes
    
    The following documentation changes are will be made
    (identified by the change bar '|' in column 1):
    
       SA22-7627
       z/OS MVS System Commands
       Chapter 4: MVS System Commands Reference
       Subtopic: DISPLAY Command
       Subtopic: Displaying Virtual Storage Information
       :
       :
    
       Use the DISPLAY VIRTSTOR command to identify the virtual
       storage configuration. The following information is
       displayed in message
       IAR019I:
    
       - If DISPLAY VIRTSTOR,HVSHARE is specified:
       :
       :
    |  - If DISPLAY VIRTSTOR,LFAREA is specified:
    |
    |    - Source of LFAREA parameter can be a parmlib member,
    |      operator supplied, or the default.
    |
    |    - The size of the LFAREA in megabytes, in decimal.
    |
    |    - The amount of LFAREA that is available in megabytes,
    |      in decimal.
    |
    |    - The amount of LFAREA that is allocated in megabytes,
    |      in decimal, on behalf of 1M page requests.
    |
    |    - The amount of LFAREA that is allocated in megabytes,
    |      in decimal, on behalf of 4K page requests.
    |
    |    - The high water mark for the amount of LFAREA that is
    |      allocated in megabytes, in decimal, on behalf of 1M
    |      page requests.
    |
    |    - The high water mark for the amount of LFAREA that is
    |      allocated in megabytes, in decimal, on behalf of 4K
    |      page requests.
    
    
       D {VIRTSTOR|VS},
    |  {HVSHARE|HVCOMMON|LFAREA}
       :
       :
    
       SA22-7636
       z/OS MVS System Messages, Volume 6 (GOS-IEA)
       Chapter 7: IAR Messages
       Subtopic: IAR019I
       :
       :
    
    |  Explanation:
    |
    |     hh.mm.ss DISPLAY VIRTSTOR
    |     SOURCE ={xx|(OP)|DEFAULT}
    |     TOTAL LFAREA = aaaaaaaaaaaM
    |     LFAREA AVAILABLE = bbbbbbbbbbbbbbbM
    |     LFAREA ALLOCATED (1M) = cccccccccccccccM
    |     LFAREA ALLOCATED (4K) = dddddddddddddddM
    |     MAX LFAREA ALLOCATED (1M) = eeeeeeeeeeeeeeeM
    |     MAX LFAREA ALLOCATED (4K) = fffffffffffffffM
    |
    |  In the message text:
    |
    |  xx|(OP)|DEFAULT
    |
    |      The origin of the LFAREA specification can be a
    |      parmlib member, operator supplied, or the default
    |      value.
    |
    |  hh.mm.ss
    |
    |      The hour (00-23), minute (00-59), and second (00-59)
    |      that the system issued this message.
    |
    |  aaaaaaaaaaaaaaaM
    |
    |      Total size of the LFAREA in megabytes.  The amount
    |      displayed will be the amount specified by the
    |      installation (or defaulted to) via the LFAREA
    |      keyword in the IEASYSxx parmlib member.
    |
    |  bbbbbbbbbbbbbbbM
    |
    |      Amount, in megabytes, of available 1M pages.
    |
    |
    |  cccccccccccccccM
    |
    |      Amount, in megabytes, of allocated 1M pages
    |      on behalf of 1M page requests.
    |
    |  dddddddddddddddM
    |
    |      Amount, in megabytes, of allocated 1M pages
    |      on behalf of 4K page requests.
    |
    |  eeeeeeeeeeeeeeeM
    |
    |      High water mark, in megabytes, of allocated 1M pages
    |      on behalf of 1M page requests.
    |
    |  fffffffffffffffM
    |
    |      High water mark, in megabytes, of allocated 1M pages
    |      on behalf of 4K page requests.
    |
      :
      :
    z/OS MVS Data Areas , Vol 5 (MCSCSA-SNAPX)
    RCE Heading Information
    RCE MAP
    See documentation hold for details.
    
    z/OS MVS Data Areas , Vol 2 (BCCD-IEFDOKEY)
    IAXPFTE MAP
    IAXPFTE Cross reference
    See documentation hold for details.
    

Temporary fix

  • *********
    * HIPER *
    *********
    

Comments

APAR Information

  • APAR number

    OA31116

  • Reported component name

    RSM - REAL STOR

  • Reported component ID

    5752SC1CR

  • Reported release

    750

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    YesHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2009-11-13

  • Closed date

    2010-10-15

  • Last modified date

    2012-05-10

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UA57252 UA57253 UA57254

Modules/Macros

  •    IARRCE   IARRIT   IAXENDED IAXENDIN IAXFCB
    IAXGA    IAXGT    IAXMI    IAXMOVEF IAXMT    IAXPFTE  IAXQL
    IAXRG    IAXRR    IAXUA    IAXUM    IAXVS    IAXV2    IAXV7
    IAXWB    IAXYZ    IEECB903
    

Publications Referenced
SA227627XXSA227636XX   

Fix information

  • Fixed component name

    RSM - REAL STOR

  • Fixed component ID

    5752SC1CR

Applicable component levels

  • R750 PSY UA57252

       UP10/10/20 P F010 Ž

  • R760 PSY UA57253

       UP10/10/20 P F010 Ž

  • R770 PSY UA57254

       UP10/10/20 P F010 Ž

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\/OS"}],"Version":"750"}]

Document Information

Modified date:
09 January 2021