IBM Support

PH32235: NEW FUNCTION ? Language Environment is enhanced to support 64bitmapping in mmap()

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • NEW FUNCTION
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * z/OS XL C/C++ users who want to exploit mmap() 64bit mapping *
    * support                                                      *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Analytics applications attributed to memory mapping very     *
    * large files have limited performance and scalability on      *
    * z/OS.                                                        *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

Temporary fix

Comments

  • Publication updates:
    z/OS XL C/C++ > z/OS XL C/C++ Programming Guide >
    Coding: Advanced Topics > Using environment variables >
    Environment variables specific to the z/OS XL C/C++ library
    _EDC_AUTO_MAP64
    Setting _EDC_AUTO_MAP64 to YES causes __MAP_64 flag to be added
    for all mmap() calls in
    AMODE 64.
    Value
    Description
    YES
    Add __MAP_64 flag automatically for mmap() calls in AMODE 64.
    <other>
    Do nothing; this is the default.
    
    z/OS XL C/C++ > z/OS XL C/C++ Runtime Library Reference >
    Library functions >
    mmap() ? Map pages of memory
    
    __MAP_64
    Map storage above the 2-gigabyte addressing range
    
    64bit mapping support: 64 bit mapping support will be specified
    by either using the __MAP_64 in the flags argument, or by
    providing an addr above 64G, or providing a len greater than 2G.
    - If the first mapping of a file uses the 64 bit support, then
    all subsequent mappings of the file must also use 64 bit support
    until such time as there are no more mappings onto that file. If
    an attempt is made to map the file without using 64 bit support,
    an EINVAL error will be returned.
    - If the first mapping of a file uses the 31 bit support, then
    all subsequent mappings of the file must also use 31 bit support
    until such time as there are no more mappings onto that file. If
    an attempt is made to map the file without using 31 bit support,
    an EINVAL error will be returned.
    
    Usage notes
    1. The mmap() function does not support shared memory objects or
    typed memory objects.
    2. If __MAP_64 is specified then the addr argument must either
    be 0 or a value greater than 64G or EINVAL will be returned.
    3. If both __MAP_64 and MAP_FIXED are specified, then the first
    fullword of the addr argument must be nonzero or EINVAL will be
    returned.
    4. For non-MAP_FIXED requests, if the addr specifies an address
    above 64G, the system attempts to create a mapping at the
    address specified by addr and the address is truncated to the
    nearest megabyte boundary. If it is unsuccessful, it proceeds as
    if an addr value of zero were specified, but will attempt to
    create a mapping above 64G.
    

APAR Information

  • APAR number

    PH32235

  • Reported component name

    LE C LIB FOR Z/

  • Reported component ID

    568819805

  • Reported release

    7C0

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-12-02

  • Closed date

    2021-04-09

  • Last modified date

    2021-06-02

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

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

    UI74844

Modules/Macros

  • CELHXFR4 CELQINC  CELJGTNV EDC40358 CELHGTNV CELZGTNV CELQGTNV
    CELQXFR4 EDC4H04B EDC4009F
    

Publications Referenced
SC14731440SC14731540   

Fix information

  • Fixed component name

    LE C LIB FOR Z/

  • Fixed component ID

    568819805

Applicable component levels

  • R7C0 PSY UI74844

       UP21/04/28 P F104

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.

[{"Line of Business":{"code":null,"label":null},"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7C0"}]

Document Information

Modified date:
03 June 2021