12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * version 2 for more details (a copy is included in the LICENSE file that
14 * accompanied this code).
15 *
16 * You should have received a copy of the GNU General Public License version
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26 #ifndef OS_AIX_VM_GLOBALS_AIX_HPP
27 #define OS_AIX_VM_GLOBALS_AIX_HPP
28
29 //
30 // Defines Aix specific flags. They are not available on other platforms.
31 //
32 #define RUNTIME_OS_FLAGS(develop, develop_pd, product, product_pd, diagnostic, notproduct, range, constraint) \
33 \
34 /* Use 64K pages for virtual memory (shmat). */ \
35 product(bool, Use64KPages, true, \
36 "Use 64K pages if available.") \
37 \
38 /* If UseLargePages == true allow or deny usage of 16M pages. 16M pages are */ \
39 /* a scarce resource and there may be situations where we do not want the VM */ \
40 /* to run with 16M pages. (Will fall back to 64K pages). */ \
41 product_pd(bool, Use16MPages, \
42 "Use 16M pages if available.") \
43 \
44 /* use optimized addresses for the polling page, */ \
45 /* e.g. map it to a special 32-bit address. */ \
46 product_pd(bool, OptimizePollingPageLocation, \
47 "Optimize the location of the polling page used for Safepoints") \
48 \
49 product_pd(intx, AttachListenerTimeout, \
50 "Timeout in ms the attach listener waits for a request") \
51 range(0, 2147483) \
52 \
53
54 // Per default, do not allow 16M pages. 16M pages have to be switched on specifically.
55 define_pd_global(bool, Use16MPages, false);
56 define_pd_global(bool, OptimizePollingPageLocation, true);
57 define_pd_global(intx, AttachListenerTimeout, 1000);
58
59 //
60 // Defines Aix-specific default values. The flags are available on all
61 // platforms, but they may have different default values on other platforms.
62 //
63 define_pd_global(bool, UseLargePages, false);
64 define_pd_global(bool, UseLargePagesIndividualAllocation, false);
65 define_pd_global(bool, UseOSErrorReporting, false);
66 define_pd_global(bool, UseThreadPriorities, true) ;
67
68 #endif // OS_AIX_VM_GLOBALS_AIX_HPP
|
12 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
13 * version 2 for more details (a copy is included in the LICENSE file that
14 * accompanied this code).
15 *
16 * You should have received a copy of the GNU General Public License version
17 * 2 along with this work; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
19 *
20 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
21 * or visit www.oracle.com if you need additional information or have any
22 * questions.
23 *
24 */
25
26 #ifndef OS_AIX_VM_GLOBALS_AIX_HPP
27 #define OS_AIX_VM_GLOBALS_AIX_HPP
28
29 //
30 // Defines Aix specific flags. They are not available on other platforms.
31 //
32 // (Please keep the switches sorted alphabetically.)
33 #define RUNTIME_OS_FLAGS(develop, develop_pd, product, product_pd, diagnostic, notproduct, range, constraint) \
34 \
35 /* Whether to allow the VM to run if EXTSHM=ON. EXTSHM is an environment */ \
36 /* variable used on AIX to activate certain hacks which allow more shm segments */\
37 /* for 32bit processes. For 64bit processes, it is pointless and may have */ \
38 /* harmful side effects (e.g. for some reasonn prevents allocation of 64k pages */\
39 /* via shmctl). */ \
40 /* Per default we quit with an error if that variable is found; for certain */ \
41 /* customer scenarios, we may want to be able to run despite that variable. */ \
42 product(bool, AllowExtshm, false, \
43 "Allow VM to run with EXTSHM=ON.") \
44 \
45 product(intx, AttachListenerTimeout, 1000, \
46 "Timeout in ms the attach listener waits for a request") \
47 range(0, 2147483) \
48 \
49 /* Maximum expected size of the data segment. That correlates with the */ \
50 /* to the maximum C Heap consumption we expect. */ \
51 /* We need to know this because we need to leave "breathing space" for the */ \
52 /* data segment when placing the java heap. If that space is too small, we */ \
53 /* reduce our chance of getting a low heap address (needed for compressed */ \
54 /* Oops). */ \
55 product(uintx, MaxExpectedDataSegmentSize, (SIZE_4G * 2), \
56 "Maximum expected Data Segment Size.") \
57 \
58 /* Use optimized addresses for the polling page. */ \
59 product(bool, OptimizePollingPageLocation, true, \
60 "Optimize the location of the polling page used for Safepoints") \
61 \
62 /* Use 64K pages for virtual memory (shmat). */ \
63 product(bool, Use64KPages, true, \
64 "Use 64K pages if available.") \
65 \
66 /* If VM uses 64K paged memory (shmat) for virtual memory: threshold below */ \
67 /* which virtual memory allocations are done with 4K memory (mmap). This is */ \
68 /* mainly for test purposes. */ \
69 develop(uintx, Use64KPagesThreshold, 0, \
70 "4K/64K page allocation threshold.") \
71 \
72 /* Normally AIX commits memory on touch, but sometimes it is helpful to have */ \
73 /* explicit commit behaviour. This flag, if true, causes the VM to touch */ \
74 /* memory on os::commit_memory() (which normally is a noop). */ \
75 product(bool, UseExplicitCommit, false, \
76 "Explicit commit for virtual memory.") \
77 \
78
79
80 //
81 // Defines Aix-specific default values. The flags are available on all
82 // platforms, but they may have different default values on other platforms.
83 //
84
85 // UseLargePages means nothing, for now, on AIX.
86 // Use Use64KPages or Use16MPages instead.
87 define_pd_global(bool, UseLargePages, false);
88 define_pd_global(bool, UseLargePagesIndividualAllocation, false);
89 define_pd_global(bool, UseOSErrorReporting, false);
90 define_pd_global(bool, UseThreadPriorities, true) ;
91
92 #endif // OS_AIX_VM_GLOBALS_AIX_HPP
|