Commit graph

25 commits

Author SHA1 Message Date
Coleen Phillimore
3a86f9cd27 8059100: SIGSEGV VirtualMemoryTracker::remove_released_region
Disallow increasing native memory tracking level

Reviewed-by: hseigel, ctornqvi, gtriantafill
2014-10-10 19:36:12 +00:00
Zhengyu Gu
e672087234 8055007: NMT2: emptyStack missing in minimal build
Refactored emptyStack to a static member of NativeCallStack, which is accessible in minimal build.

Reviewed-by: coleenp, dholmes
2014-08-19 08:34:25 -04:00
Zhengyu Gu
f0cf82f571 8046598: Scalable Native memory tracking development
Enhance scalability of native memory tracking

Reviewed-by: coleenp, ctornqvi, gtriantafill
2014-08-07 12:18:58 -07:00
Frederic Parain
5a8cc5f33d 8047714: Fix for JDK-6546236 made Solaris os::yield() a no-op
Reviewed-by: hseigel, lfoltan
2014-07-08 08:04:06 -07:00
Frederic Parain
5507f2b476 8043630: Method os::yield_all() should be removed
Reviewed-by: dholmes, dsimms
2014-06-23 06:58:26 -07: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
Zhengyu Gu
3e8c767620 8016074: NMT: assertion failed: assert(thread->thread_state() == from) failed: coming from wrong thread state
Uses os::NakedYield() on Solaris instead of os::yield_all()

Reviewed-by: acorn, coleenp, hseigel
2013-07-04 06:24:08 -04: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
Zhengyu Gu
37fe1421a8 8010151: nsk/regression/b6653214 fails "assert(snapshot != NULL) failed: Worker should not be started"
Fixed a racing condition when shutting down NMT while worker thread is being started, also fixed a few mis-declared volatile pointers.

Reviewed-by: dholmes, dlong
2013-04-10 08:55:50 -04:00
Zhengyu Gu
7363c58e32 8010474: [parfait] Undefined return value of the functions in hotspot/src/share/vm/services/memTracker.hpp
Fixed functions that miss return values

Reviewed-by: coleenp, acorn, kvn
2013-03-27 15:41:53 -04:00
Zhengyu Gu
b799726f35 8009298: NMT: Special version of class loading/unloading with runThese stresses out NMT
8009777: NMT: add new NMT dcmd to control auto shutdown option

Added diagnostic VM option and DCmd command to allow NMT stay alive under stress situation

Reviewed-by: dcubed, coleenp
2013-03-20 09:42:48 -04:00
Christian Tornqvist
111ddcc827 8005012: Add WB APIs to better support NMT testing
Add WB API functions to enable better NMT testing

Reviewed-by: dholmes, zgu
2013-02-01 23:48:08 +01:00
Zhengyu Gu
5c6318e816 8005048: NMT: #loaded classes needs to just show the # defined classes
Count number of instance classes so that it matches class metadata size

Reviewed-by: coleenp, acorn
2013-01-08 14:04:25 -05:00
Stefan Karlsson
57204d9f34 8003935: Simplify the needed includes for using Thread::current()
Reviewed-by: dholmes, rbackman, coleenp
2012-11-27 14:20:21 +01:00
Zhengyu Gu
f47de1cb41 8001592: NMT: assertion failed: assert(_amount >= amt) failed: Just check: memBaseline.hpp:180
Fixed NMT that miscounted arena memory when it is used as value or stack object.

Reviewed-by: acorn, coleenp
2012-11-09 19:24:31 -05:00
Zhengyu Gu
3e481cdd81 7199092: NMT: NMT needs to deal overlapped virtual memory ranges
Enhanced virtual memory tracking to track committed regions as well as reserved regions, so NMT now can generate virtual memory map.

Reviewed-by: acorn, coleenp
2012-10-19 21:40:07 -04:00
Joseph Provino
c5eaaaa070 7189254: Change makefiles for more flexibility to override defaults
Change makefiles so that targets and parameters can be overridden by alternate makefiles.

Reviewed-by: dholmes, coleenp
2012-10-10 14:35:58 -04:00
Zhengyu Gu
fb2076c572 7188594: Print statistic collected by NMT with VM flag
Print out statistics of collected NMT data if it is on at VM exits

Reviewed-by: kvn, coleenp, twisti
2012-09-17 16:37:26 -04:00
Zhengyu Gu
afd497eecc 7190089: NMT ON: NMT failed assertion on thread's stack base address
Solaris only, record stack info to NMT after stack size adjustment was made for primordial threads

Reviewed-by: kvn, acorn, coleenp
2012-09-17 10:20:04 -04:00
Zhengyu Gu
442e4b0e54 7181995: NMT ON: NMT assertion failure assert(cur_vm->is_uncommit_record() || cur_vm->is_deallocation_record
Fixed virtual memory records merge and promotion logic, should be based on sequence number vs. base address order

Reviewed-by: coleenp, acorn
2012-09-11 20:53:17 -04:00
Zhengyu Gu
a13f3bdad8 7185614: NMT ON: "check by caller" assertion failed on nsk ThreadMXBean test
7187429: NMT ON: Merge failure should cause NMT to shutdown

Fixed NMT assertion failures

Reviewed-by: acorn, kvn
2012-08-01 17:19:30 -04:00
Zhengyu Gu
a0930ac7cd Merge 2012-07-19 09:10:12 -04:00
Zhengyu Gu
f9083712dd 7182543: NMT ON: Aggregate a few NMT related bugs
1) Fixed MemTrackWorker::generations_in_used() calculation 2) Ensured NMT not to leak memory recorders after shutdown 3) Used ThreadCritical to block safepoint safe threads

Reviewed-by: acorn, coleenp, dholmes, kvn
2012-07-19 09:05:42 -04:00
Zhengyu Gu
196abe2523 7181986: NMT ON: Assertion failure when running jdi ExpiredRequestDeletionTest
Changed _query_lock to heap object from static object. Also fixed _query_lock and snapshot lock ranks, so they can participate deadlock detection.

Reviewed-by: coleenp, dholmes, kvn
2012-07-16 14:10:34 -04:00
Zhengyu Gu
a39b17624a 6995781: Native Memory Tracking (Phase 1)
7151532: DCmd for hotspot native memory tracking

Implementation of native memory tracking phase 1, which tracks VM native memory usage, and related DCmd

Reviewed-by: acorn, coleenp, fparain
2012-06-28 17:03:16 -04:00