A fix is available
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
SC14731440 | SC14731540 |
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