< prev index next >

src/hotspot/os/solaris/os_solaris.cpp

Print this page
rev 59103 : [mq]: take2


3899 extern "C" {
3900   static void perfMemory_exit_helper() {
3901     perfMemory_exit();
3902   }
3903 }
3904 
3905 // this is called _after_ the global arguments have been parsed
3906 jint os::init_2(void) {
3907   // try to enable extended file IO ASAP, see 6431278
3908   os::Solaris::try_enable_extended_io();
3909 
3910   // Check and sets minimum stack sizes against command line options
3911   if (Posix::set_minimum_stack_sizes() == JNI_ERR) {
3912     return JNI_ERR;
3913   }
3914 
3915   Solaris::libthread_init();
3916 
3917   if (UseNUMA) {
3918     if (!Solaris::liblgrp_init()) {
3919       UseNUMA = false;
3920     } else {
3921       size_t lgrp_limit = os::numa_get_groups_num();
3922       int *lgrp_ids = NEW_C_HEAP_ARRAY(int, lgrp_limit, mtInternal);
3923       size_t lgrp_num = os::numa_get_leaf_groups(lgrp_ids, lgrp_limit);
3924       FREE_C_HEAP_ARRAY(int, lgrp_ids);
3925       if (lgrp_num < 2) {
3926         // There's only one locality group, disable NUMA unless
3927         // user explicilty forces NUMA optimizations on single-node/UMA systems
3928         UseNUMA = ForceNUMA;
3929       }
3930     }





3931   }
3932 
3933   Solaris::signal_sets_init();
3934   Solaris::init_signal_mem();
3935   Solaris::install_signal_handlers();
3936   // Initialize data for jdk.internal.misc.Signal
3937   if (!ReduceSignalUsage) {
3938     jdk_misc_signal_init();
3939   }
3940 
3941   // initialize synchronization primitives to use either thread or
3942   // lwp synchronization (controlled by UseLWPSynchronization)
3943   Solaris::synchronization_init();
3944   DEBUG_ONLY(os::set_mutex_init_done();)
3945 
3946   if (MaxFDLimit) {
3947     // set the number of file descriptors to max. print out error
3948     // if getrlimit/setrlimit fails but continue regardless.
3949     struct rlimit nbr_files;
3950     int status = getrlimit(RLIMIT_NOFILE, &nbr_files);




3899 extern "C" {
3900   static void perfMemory_exit_helper() {
3901     perfMemory_exit();
3902   }
3903 }
3904 
3905 // this is called _after_ the global arguments have been parsed
3906 jint os::init_2(void) {
3907   // try to enable extended file IO ASAP, see 6431278
3908   os::Solaris::try_enable_extended_io();
3909 
3910   // Check and sets minimum stack sizes against command line options
3911   if (Posix::set_minimum_stack_sizes() == JNI_ERR) {
3912     return JNI_ERR;
3913   }
3914 
3915   Solaris::libthread_init();
3916 
3917   if (UseNUMA) {
3918     if (!Solaris::liblgrp_init()) {
3919       FLAG_SET_ERGO(UseNUMA, false);
3920     } else {
3921       size_t lgrp_limit = os::numa_get_groups_num();
3922       int *lgrp_ids = NEW_C_HEAP_ARRAY(int, lgrp_limit, mtInternal);
3923       size_t lgrp_num = os::numa_get_leaf_groups(lgrp_ids, lgrp_limit);
3924       FREE_C_HEAP_ARRAY(int, lgrp_ids);
3925       if (lgrp_num < 2) {
3926         // There's only one locality group, disable NUMA unless
3927         // user explicilty forces NUMA optimizations on single-node/UMA systems
3928         UseNUMA = ForceNUMA;
3929       }
3930     }
3931   }
3932 
3933   // When NUMA requested, not-NUMA-aware allocations default to interleaving.
3934   if (UseNUMA && !UseNUMAInterleaving) {
3935     FLAG_SET_ERGO_IF_DEFAULT(UseNUMAInterleaving, true);
3936   }
3937 
3938   Solaris::signal_sets_init();
3939   Solaris::init_signal_mem();
3940   Solaris::install_signal_handlers();
3941   // Initialize data for jdk.internal.misc.Signal
3942   if (!ReduceSignalUsage) {
3943     jdk_misc_signal_init();
3944   }
3945 
3946   // initialize synchronization primitives to use either thread or
3947   // lwp synchronization (controlled by UseLWPSynchronization)
3948   Solaris::synchronization_init();
3949   DEBUG_ONLY(os::set_mutex_init_done();)
3950 
3951   if (MaxFDLimit) {
3952     // set the number of file descriptors to max. print out error
3953     // if getrlimit/setrlimit fails but continue regardless.
3954     struct rlimit nbr_files;
3955     int status = getrlimit(RLIMIT_NOFILE, &nbr_files);


< prev index next >