28
POWER7 and Optimization and Tuning Guide
Application support to use multisize pages on AIX
9
As described in Power Instruction Set Architecture Version 2.06,
10
you can specify page sizes
to use for four regions of a 32-bit or 64-bit process address space.
These page sizes can be configured with an environment variable or with settings in an
application XCOFF binary with the
ldedit
or
ld
commands, as shown in Table 2-5.
Table 2-5 Page sizes for four regions of a 32-bit or 64-bit process address space
You can specify a different page size to use for each of the four regions of a process address
space. Only the 4 KB and 64 KB page sizes are supported for all four memory regions. The
16 MB page size is supported only for the process data, process text, and process shared
memory regions. The 16 GB page size is supported only for a process shared
memory region.
You can set the preferred page sizes for an application in the XCOFF/XCOFF64 binary file by
running the
ldedit
or
ld
commands.
The
ld
or
cc
commands can be used to set these page size options when you are linking
an executable command:
ld -o mpsize.out -btextpsize:4K -bstackpsize:64K sub1.o sub2.o
cc -o mpsize.out -btextpsize:4K -bstackpsize:64K sub1.o sub2.o
The
ldedit
command can be used to set these page size options in an existing
executable command:
ldedit -btextpsize=4K -bdatapsize=64K -bstackpsize=64K mpsize.out
We can set the preferred page sizes of a process with the
LDR_CNTRL
environment variable. As
an example, the following command causes the mpsize.out process to use 4 KB pages for its
data, 64 KB pages for its text, 64 KB pages for its stack, and 64 KB pages for its shared
memory on supported hardware:
LDR_CNTRL=DATAPSIZE=4K@TEXTPSIZE=64K@SHMPSIZE=64K mpsize.out
Page size environment variables override any page size settings in an executable XCOFF
header. Also, the
DATAPSIZE
environment variable overrides any
LARGE_PAGE_DATA
environment variable setting.
Rather than using the
LDR_CNTRL
environment variable, consider marking specific executable
files to use large pages, because this limits the large page usage to the specific application
that benefits from large page usage.
9
Ibid
10
Power ISA Version 2.06 Revision B, available at:
http://power.org/wp-content/uploads/2012/07/PowerISA_V2.06B_V2_PUBLIC.pdf
Region
ld or ldedit
option
LDR_CNTRL
environment variable
Description
Data
bdatapsize
DATAPSIZE
Initialized data, bss, and
heap
Stack
bstackpsize
STACKPSIZE
Initial thread stack
Text
btextpsize
TEXTPSIZE
Main executable text
Shared memory
None
SHMPSIZE
Shared memory that is
allocated by the process
Summary of Contents for Power System POWER7 Series
Page 2: ......
Page 36: ...20 POWER7 and POWER7 Optimization and Tuning Guide...
Page 70: ...54 POWER7 and POWER7 Optimization and Tuning Guide...
Page 112: ...96 POWER7 and POWER7 Optimization and Tuning Guide...
Page 140: ...124 POWER7 and POWER7 Optimization and Tuning Guide...
Page 162: ...146 POWER7 and POWER7 Optimization and Tuning Guide...
Page 170: ...154 POWER7 and POWER7 Optimization and Tuning Guide...
Page 223: ......