< prev index next >

src/hotspot/os/linux/os_linux.hpp

Print this page




  91   static GrowableArray<int>* nindex_to_node()  { return _nindex_to_node; }
  92 
  93   static size_t find_large_page_size();
  94   static size_t setup_large_page_size();
  95 
  96   static bool setup_large_page_type(size_t page_size);
  97   static bool transparent_huge_pages_sanity_check(bool warn, size_t pages_size);
  98   static bool hugetlbfs_sanity_check(bool warn, size_t page_size);
  99 
 100   static char* reserve_memory_special_shm(size_t bytes, size_t alignment, char* req_addr, bool exec);
 101   static char* reserve_memory_special_huge_tlbfs(size_t bytes, size_t alignment, char* req_addr, bool exec);
 102   static char* reserve_memory_special_huge_tlbfs_only(size_t bytes, char* req_addr, bool exec);
 103   static char* reserve_memory_special_huge_tlbfs_mixed(size_t bytes, size_t alignment, char* req_addr, bool exec);
 104 
 105   static bool release_memory_special_impl(char* base, size_t bytes);
 106   static bool release_memory_special_shm(char* base, size_t bytes);
 107   static bool release_memory_special_huge_tlbfs(char* base, size_t bytes);
 108 
 109   static void print_full_memory_info(outputStream* st);
 110   static void print_container_info(outputStream* st);
 111   static void print_steal_info(outputStream* st);
 112   static void print_distro_info(outputStream* st);
 113   static void print_libversion_info(outputStream* st);
 114   static void print_proc_sys_info(outputStream* st);
 115   static void print_ld_preload_file(outputStream* st);
 116 
 117  public:
 118   struct CPUPerfTicks {
 119     uint64_t used;
 120     uint64_t usedKernel;
 121     uint64_t total;
 122     uint64_t steal;
 123     bool     has_steal_ticks;
 124   };
 125 
 126   // which_logical_cpu=-1 returns accumulated ticks for all cpus.
 127   static bool get_tick_information(CPUPerfTicks* pticks, int which_logical_cpu);
 128   static bool _stack_is_executable;
 129   static void *dlopen_helper(const char *name, char *ebuf, int ebuflen);
 130   static void *dll_load_in_vmthread(const char *name, char *ebuf, int ebuflen);
 131 
 132   static void init_thread_fpu_state();
 133   static int  get_fpu_control_word();
 134   static void set_fpu_control_word(int fpu_control);
 135   static pthread_t main_thread(void)                                { return _main_thread; }
 136   // returns kernel thread id (similar to LWP id on Solaris), which can be
 137   // used to access /proc
 138   static pid_t gettid();
 139   static void set_createThread_lock(Mutex* lk)                      { _createThread_lock = lk; }
 140   static Mutex* createThread_lock(void)                             { return _createThread_lock; }
 141   static void hotspot_sigmask(Thread* thread);
 142 
 143   static address   initial_thread_stack_bottom(void)                { return _initial_thread_stack_bottom; }
 144   static uintptr_t initial_thread_stack_size(void)                  { return _initial_thread_stack_size; }
 145 
 146   static int page_size(void)                                        { return _page_size; }
 147   static void set_page_size(int val)                                { _page_size = val; }




  91   static GrowableArray<int>* nindex_to_node()  { return _nindex_to_node; }
  92 
  93   static size_t find_large_page_size();
  94   static size_t setup_large_page_size();
  95 
  96   static bool setup_large_page_type(size_t page_size);
  97   static bool transparent_huge_pages_sanity_check(bool warn, size_t pages_size);
  98   static bool hugetlbfs_sanity_check(bool warn, size_t page_size);
  99 
 100   static char* reserve_memory_special_shm(size_t bytes, size_t alignment, char* req_addr, bool exec);
 101   static char* reserve_memory_special_huge_tlbfs(size_t bytes, size_t alignment, char* req_addr, bool exec);
 102   static char* reserve_memory_special_huge_tlbfs_only(size_t bytes, char* req_addr, bool exec);
 103   static char* reserve_memory_special_huge_tlbfs_mixed(size_t bytes, size_t alignment, char* req_addr, bool exec);
 104 
 105   static bool release_memory_special_impl(char* base, size_t bytes);
 106   static bool release_memory_special_shm(char* base, size_t bytes);
 107   static bool release_memory_special_huge_tlbfs(char* base, size_t bytes);
 108 
 109   static void print_full_memory_info(outputStream* st);
 110   static void print_container_info(outputStream* st);
 111   static void print_virtualization_info(outputStream* st);
 112   static void print_distro_info(outputStream* st);
 113   static void print_libversion_info(outputStream* st);
 114   static void print_proc_sys_info(outputStream* st);
 115   static void print_ld_preload_file(outputStream* st);
 116 
 117  public:










 118   static bool _stack_is_executable;
 119   static void *dlopen_helper(const char *name, char *ebuf, int ebuflen);
 120   static void *dll_load_in_vmthread(const char *name, char *ebuf, int ebuflen);
 121 
 122   static void init_thread_fpu_state();
 123   static int  get_fpu_control_word();
 124   static void set_fpu_control_word(int fpu_control);
 125   static pthread_t main_thread(void)                                { return _main_thread; }
 126   // returns kernel thread id (similar to LWP id on Solaris), which can be
 127   // used to access /proc
 128   static pid_t gettid();
 129   static void set_createThread_lock(Mutex* lk)                      { _createThread_lock = lk; }
 130   static Mutex* createThread_lock(void)                             { return _createThread_lock; }
 131   static void hotspot_sigmask(Thread* thread);
 132 
 133   static address   initial_thread_stack_bottom(void)                { return _initial_thread_stack_bottom; }
 134   static uintptr_t initial_thread_stack_size(void)                  { return _initial_thread_stack_size; }
 135 
 136   static int page_size(void)                                        { return _page_size; }
 137   static void set_page_size(int val)                                { _page_size = val; }


< prev index next >