Commit graph

196 commits

Author SHA1 Message Date
Goetz Lindenmaier
f190cc8c67 8038201: Clean up misleading usage of malloc() in init_system_properties_values()
Remove the misleading malloc macro and cleanup the code

Reviewed-by: dsamersoff, kvn
2014-04-01 03:59:01 -07:00
Markus Grönlund
15e6b91ca5 8037340: Linux semaphores to use CLOCK_REALTIME
Reviewed-by: dholmes, sla
2014-03-20 14:28:25 +01:00
Yumin Qi
f2fbd2207d 6536943: Bogus -Xcheck:jni warning for SIG_INT action for SIGINT in JVM started from non-interactive shell
Under non-interactive shell, with -Xcheck:jni, check_signal_handler will print out Warning for SHURDOWN2_SIGNAL (SIGINT) which is replaced by non-interactive shell. Fix by supply more information of the replacement to user.

Reviewed-by: acorn, dsamersoff
2014-03-14 14:17:11 -07:00
Goetz Lindenmaier
4b9933a012 8036122: Fix warning 'format not a string literal'
Reviewed-by: mduigou, kvn
2014-03-03 11:54:35 +01:00
Harold Seigel
b2c117b170 Merge 2014-02-23 13:16:03 -05:00
Vladimir Kozlov
5117e1a805 Merge 2014-02-19 12:08:49 -08:00
Frederic Parain
eff08434da 6546236: Thread interrupt() of Thread.sleep() can be lost on Solaris due to race with signal handler
Reviewed-by: dholmes, dcubed
2014-02-19 16:22:15 +00:00
Gerald Thornbrugh
3d76a6654e 8033931: Several nightly tests failing with assert(imin < imax) failed: Unexpected page size
Loosen new assert() in get_stack_commited_bottom()

Reviewed-by: dcubed, coleenp, dsamersoff, hseigel
2014-02-07 11:47:24 -08:00
Gerald Thornbrugh
d3a85e73a7 8029775: Solaris code cleanup
8033464: Linux code cleanup

Cleaned up warnings in solaris and linux specific os code.

Reviewed-by: coleenp, fparain, dcubed
2014-02-06 14:28:35 -05:00
Ron Durbin
97d55c801e 8027113: decouple the '-XXaltjvm=<path>' option from the gamma launcher
Decoupled the '-XXaltjvm=<path>' option from the gamma launcher.  Clearing the way for removing the remaining cruft associated with the previously removed gamma launcher.

Reviewed-by: dcubed, dholmes
2014-01-30 14:12:22 -08:00
David Simms
edb5dd324e 8028280: ParkEvent leak when running modified runThese which only loads classes
Use spin lock to manage ParkEvent and PlatformEvent free lists.

Reviewed-by: dholmes, fparain
2014-01-24 09:28:47 +01:00
Staffan Larsen
6f46c5c2f0 8031968: Mac OS X: VM starts the agent by calling both Agent_OnAttach and Agent_OnAttach_L functions if its agent library is dynamically linked
Make sure we only look for statically linked agents in the main process image

Reviewed-by: dsamersoff, bpittore, dcubed
2014-01-23 09:06:21 +01:00
Goetz Lindenmaier
c16bc98686 8028470: PPC64 (part 214): linux: extend signal handler to catch SIGTRAP on ppc64
Reviewed-by: kvn
2013-11-16 01:42:55 +01:00
Vladimir Kozlov
39b0e57fdd Merge 2013-11-05 17:38:04 -08:00
Jaroslav Bachorik
76ac5b0c28 8027294: Prepare hotspot for non TOD based uptime counter
Use HR timer when available for os::elapsed_counter() on linux/bsd. Add a new counter for the JVM uptime.

Reviewed-by: dholmes, sla
2013-10-25 09:07:58 +02:00
John Coomes
e61cbf8d69 Merge 2013-10-11 08:27:21 -07:00
Stefan Karlsson
3b34e78d20 8024838: Significant slowdown due to transparent huge pages
Don't turn on transparent huge pages (-XX:+UseTransparentHugePages) unless explicitly specified on the command line. This has the effect that large pages are never turned on Linux unless the user has explicitly enabled any of the large pages flags: -XX:+UseLargePages, -XX:+UseTransparentHugePages, -XX:+UseHugeTLBFS, and -XX:+UseSHM.

Reviewed-by: jwilhelm, tschatzl, brutisso
2013-10-05 10:14:58 +02:00
David Simms
d5157be0e8 8023956: Provide a work-around to broken Linux 32 bit "Exec Shield" using CS for NX emulation (crashing with SI_KERNEL)
Execute some code at a high virtual address value, and keep mapped

Reviewed-by: coleenp, zgu
2013-09-25 13:58:13 +02:00
Thomas Schatzl
9005953c71 Merge 2013-09-19 09:26:08 +02:00
Gerald Thornbrugh
dffefd9ecf 6986195: correctly identify Ubuntu as the operating system in crash report instead of "Debian"
Cleanup and document how various Linux release info files are used by print_distro_info().

Reviewed-by: dcubed, dsamersoff, coleenp, iklam, omajid
2013-09-16 12:43:34 -07:00
David Holmes
139c3e6621 6900441: PlatformEvent.park(millis) on Linux could still be affected by changes to the time-of-day clock
Associate CLOCK_MONOTONIC with the pthread_cond_t objects used for relative timed waits

Reviewed-by: dcubed, shade
2013-09-16 07:38:13 -04:00
Thomas Schatzl
962008f22b 8010722: assert: failed: heap size is too big for compressed oops
Use conservative assumptions of required alignment for the various garbage collector components into account when determining the maximum heap size that supports compressed oops. Using this conservative value avoids several circular dependencies in the calculation.

Reviewed-by: stefank, dholmes
2013-09-11 16:25:02 +02:00
Vladimir Kozlov
1a700c9216 Merge 2013-09-05 11:04:39 -07:00
Thomas Schatzl
066b624223 Merge 2013-09-05 14:15:54 +02:00
Dmitry Samersoff
98c327bc7d 8009062: poor performance of JNI AttachCurrentThread after fix for 7017193
Don't re-evaluate stack bounds for main thread before install guard page

Reviewed-by: coleenp, dholmes, dlong
2013-08-29 21:48:23 +04:00
Jon Masamitsu
728a40bcdc Merge 2013-08-29 06:53:16 -07:00
Stefan Johansson
80fea6f305 8016155: SIGBUS when running Kitchensink with ParallelScavenge and ParallelOld
When using NUMA and large pages we need to ease the requirement on which node the memory should be allocated on. To avoid the SIGBUS we now use the memory policy MPOL_PREFERRED, which prefers a certain node, instead of MPOL_BIND, which requires a certain node.

Reviewed-by: jmasa, pliden
2013-08-22 10:50:41 +02:00
Stefan Karlsson
7ade7987a0 8007074: SIGSEGV at ParMarkBitMap::verify_clear()
Replace the broken large pages implementation on Linux. New flag: -XX:+UseTransparentHugePages - Linux specific flag to turn on transparent huge page hinting with madvise(..., MAP_HUGETLB). Changed behavior: -XX:+UseLargePages - tries to use -XX:+UseTransparentHugePages before trying other large pages implementations (on Linux). Changed behavior: -XX:+UseHugeTLBFS - Use upfront allocation of Large Pages instead of using the broken implementation to dynamically committing large pages. Changed behavior: -XX:LargePageSizeInBytes - Turned off the ability to use this flag on Linux and provides warning to user if set to a value different than the OS chosen large page size. Changed behavior: Setting no large page size - Now defaults to use -XX:UseTransparentHugePages if the OS supports it. Previously, -XX:+UseHugeTLBFS was chosen if the OS was configured to use large pages.

Reviewed-by: tschatzl, dcubed, brutisso
2013-08-16 13:22:32 +02:00
Thomas Stuefe
a72b868ac2 8020775: PPC64 (part 12): posix signal printing
Implement methods printing posix signal information and call them in unix os files.

Reviewed-by: kvn, dholmes, twisti
2013-07-26 00:59:18 +02:00
Vladimir Kozlov
ed85bb1853 Merge 2013-07-19 13:32:53 -07:00
Daniel D. Daugherty
765f5cd4e7 8015884: runThese crashed with SIGSEGV, hs_err has an error instead of stacktrace
Dl_info struct should only be used if dladdr() has returned non-zero (no errors) and always check the dladdr() return value; Dl_info.dli_sname and Dl_info.dli_saddr fields should only be used if non-NULL; update/improve runtime/6888954/vmerrors.sh test

Reviewed-by: dsamersoff, zgu, hseigel, coleenp
2013-07-04 21:10:17 -07:00
Vladimir Kozlov
7509ebea00 Merge 2013-06-27 13:04:51 -07:00
Vladimir Kozlov
b390a2d8e3 Merge 2013-06-21 15:56:24 -07:00
Goetz Lindenmaier
0522ce7a17 8016586: PPC64 (part 3): basic changes for PPC64
Added #includes needed for ppc64 port. Renamed _MODEL_ppc to _MODEL_ppc_32 and renamed corresponding old _ppc files to _ppc_32.

Reviewed-by: dholmes, kvn
2013-06-20 16:30:44 -07:00
Goetz Lindenmaier
036382cefd 8016491: PPC64 (part 2): Clean up PPC defines
Distinguish PPC, PPC64 and PPC32. PPC should guard code needed on any PPC system. PPC32 and PPC64 should guard code needed in a port for the ppc64 or ppc32 instruction set.

Reviewed-by: kvn
2013-06-19 12:29:30 +02:00
Zhengyu Gu
61a30f035b 8013651: NMT: reserve/release sequence id's in incorrect order due to race
Fixed NMT race condition for realloc, uncommit and release

Reviewed-by: coleenp, ccheung
2013-06-18 08:44:08 -04:00
Daniel D. Daugherty
72a51a0c44 8013057: assert(_needs_gc || SafepointSynchronize::is_at_safepoint()) failed: only read at safepoint
Detect mmap() commit failures in Linux and Solaris os::commit_memory() impls and call vm_exit_out_of_memory(). Add os::commit_memory_or_exit(). Also tidy up some NMT accounting and some mmap() return value checking.

Reviewed-by: zgu, stefank, dholmes, dsamersoff
2013-06-13 11:16:38 -07:00
Staffan Larsen
718f3252f6 8005849: JEP 167: Event-Based JVM Tracing
Co-authored-by: Karen Kinnear <karen.kinnear@oracle.com>
Co-authored-by: Bengt Rutisson <bengt.rutisson@oracle.com>
Co-authored-by: Calvin Cheung <calvin.cheung@oracle.com>
Co-authored-by: Erik Gahlin <erik.gahlin@oracle.com>
Co-authored-by: Erik Helin <erik.helin@oracle.com>
Co-authored-by: Jesper Wilhelmsson <jesper.wilhelmsson@oracle.com>
Co-authored-by: Keith McGuigan <keith.mcguigan@oracle.com>
Co-authored-by: Mattias Tobiasson <mattias.tobiasson@oracle.com>
Co-authored-by: Markus Gronlund <markus.gronlund@oracle.com>
Co-authored-by: Mikael Auno <mikael.auno@oracle.com>
Co-authored-by: Nils Eliasson <nils.eliasson@oracle.com>
Co-authored-by: Nils Loodin <nils.loodin@oracle.com>
Co-authored-by: Rickard Backman <rickard.backman@oracle.com>
Co-authored-by: Stefan Karlsson <stefan.karlsson@oracle.com>
Co-authored-by: Yekaterina Kantserova <yekaterina.kantserova@oracle.com>
Reviewed-by: acorn, coleenp, sla
2013-06-10 11:30:51 +02:00
Thomas Schatzl
54964edefa 8013895: G1: G1SummarizeRSetStats output on Linux needs improvemen
Fixed the output of G1SummarizeRSetStats: too small datatype for the number of concurrently processed cards, added concurrent remembered set thread time retrieval for Linux and Windows (BSD uses os::elapsedTime() now), and other cleanup. The information presented during VM operation is now relative to the previous output, not always cumulative if G1SummarizeRSetStatsPeriod > 0. At VM exit, the code prints a cumulative summary.

Reviewed-by: johnc, jwilhelm
2013-05-28 09:32:06 +02:00
Vladimir Kozlov
43fbbe98b7 Merge 2013-05-02 18:50:05 -07:00
Vladimir Danushevsky
867c30e1bd 8013398: Adjust number of stack guard pages on systems with large memory page size
Auto adjust number of stack guard pages on systems with large memory page size

Reviewed-by: bobv, coleenp
2013-04-30 17:36:01 -04:00
Mikael Vidstedt
9e8a3585b0 8012015: Use PROT_NONE when reserving memory
Reserved memory had PROT_READ+PROT_WRITE access on Linux/bsd, now changed to PROT_NONE.

Reviewed-by: dholmes, ctornqvi
2013-04-29 11:03:49 -07:00
Vladimir Ivanov
f26c1a6c88 8012260: ciReplay: Include PID into the name of replay data file
Reviewed-by: kvn, twisti
2013-04-25 11:02:32 -07:00
Daniel D. Daugherty
78339229bb Merge 2013-04-05 10:38:08 -07:00
Mikael Vidstedt
eeb83733a6 8003310: Enable -Wunused-function when compiling with gcc
Add the -Wunused-function flag and remove a number of unused functions.

Reviewed-by: dholmes, coleenp, kvn
2013-04-04 10:01:26 -07:00
Calvin Cheung
33f6dd2215 8006103: [parfait] Possible null pointer dereference at hotspot/src/os/linux/vm/os_linux.cpp; os_windows.cpp; os_solaris.cpp; os_bsd.cpp
Reviewed-by: zgu, iklam
2013-04-03 16:43:09 -07:00
Mikael Gerdin
0a963fd1b7 Merge 2013-04-03 09:19:02 +02:00
Thomas Schatzl
bb5bd507d7 7112912: Message "Error occurred during initialization of VM" on boxes with lots of RAM
Ergonomics now also takes available virtual memory into account when deciding for a heap size. The helper method to determine the maximum allocatable memory block now uses the appropriate OS specific calls to retrieve available virtual memory for the java process. In 32 bit environments this method now also searches for the maximum actually reservable amount of memory. Merge previously separate implementations for Linux/BSD/Solaris into a single method.

Reviewed-by: jmasa, tamao
2013-03-27 19:21:18 +01:00
Ioi Lam
ba67f14480 8010389: After fix for 7107135 a failed dlopen() call results in a VM crash
Call dlerror() in VM thread as necessary.

Reviewed-by: coleenp, dholmes
2013-03-21 20:46:46 -07:00
Zhengyu Gu
4cdcd6dc13 8008257: NMT: assert(new_rec->is_allocation_record()) failed when running with shared memory option
Corrected virtual memory recording and tagging code when large pages are used

Reviewed-by: coleenp, ccheung
2013-03-07 14:06:44 -05:00