Oracle® Solaris Studio 12.4: OpenMP API User's Guide

Exit Print View

Updated: December 2014
 
 

8.3.2 Multiple Page Size Support

The Multiple Page Size Support (MPSS) feature in Oracle Solaris allows an application to use different page sizes for different regions of virtual memory. The default page size on a specific platform can be obtained with the pagesize command. The -a option on this command lists all the supported page sizes. For details, see the pagesize(1) man page.

The Translation Lookaside Buffer (TLB) is a data structure used to map virtual memory addresses to physical memory addresses. Some performance penalty is associated with accessing memory which does not have the virtual-to-physical mapping information available in the TLB. Larger page sizes let the TLB map more physical memory using the fixed number of TLB entries. Larger pages may therefore reduce the cost of virtual-to-physical memory mapping and increase overall system performance.

There are several ways to change the default page size for an application:

  • Use the Oracle Solaris command ppgsz(1).

  • Compile the application with the -xpagesize, -xpagesize_heap, or the -xpagesize_stack options. See the cc(1), CC(1), or f95(1) man pages for details.

  • Preload the mpss.so.1 shared object, which allows the use of environment variables to set the page sizes. See the mpss.so.1(1) man page for details.