28 Commits

Author SHA1 Message Date
Zhengyu Gu
511c342454 Merge 2014-08-19 08:42:46 -04: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
06a502d4a6 8054368: nsk/jdi/VirtualMachine/exit/exit002 crash with detail tracking on (NMT2)
Dynamic allocate _reserved_regions instead of static object to avoid racing during process exit

Reviewed-by: dholmes, coleenp
2014-08-14 09:02:51 -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
Goetz Lindenmaier
8e7c8f1d88 8044775: Improve usage of umbrella header atomic.inline.hpp
Reviewed-by: stefank, kvn
2014-06-04 11:56:44 +02:00
Goetz Lindenmaier
6e6f0720a9 8042195: Introduce umbrella header orderAccess.inline.hpp
Reviewed-by: dholmes, kvn, stefank, twisti
2014-04-29 15:17:27 +02:00
Christian Tornqvist
7ee6324490 8033405: metaspace/stressHierarchy/stressHierarchy005 hangs in atexit handler
<ake sure we shut down NMT before the VM exits and do not track malloc/free when NMT is shutting down

Reviewed-by: coleenp, zgu
2014-04-24 00:46:17 +02:00
Daniel D. Daugherty
c421e7a0d3 Merge 2013-07-18 12:05:32 -07:00
Joseph Provino
b573023374 Merge 2013-07-16 12:20:08 -04:00
Joseph Provino
b5c0da41b9 8011569: ARM -- avoid native stack walking
ARM compilers do not emit FramePointer on each native frame by default

Reviewed-by: dholmes, zgu
2013-07-16 10:55:48 -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
9ff3405151 8012241: NMT huge memory footprint, it usually leads to OOME
Enforce memory limitation on NMT to prevent JVM OOM

Reviewed-by: acorn, dcubed, minqi
2013-07-11 13:15:12 -04:00
Joseph Provino
8d4061812f 8011064: Some tests have failed with SIGSEGV on arm-hflt on build b82
NMT_detail is only supported when frame pointers are not omitted (-fno-omit-frame-pointer).

Reviewed-by: dholmes, cjplummer
2013-05-28 11:32:46 -04:00
Zhengyu Gu
3a817dc8b4 8011218: Kitchensink hanged, likely NMT is to blame
Made NMT query safepoint aware.

Reviewed-by: dholmes, coleenp
2013-04-24 14:55:04 -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
28e33e673a 8011161: NMT: Memory leak when encountering out of memory error while initializing memory snapshot
Fix memory leaks when NMT fails to initialize snapshot and worker thread

Reviewed-by: dcubed, ccheung, rdurbin
2013-04-05 12:19:19 -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
Zhengyu Gu
408c9d46f3 8003689: MemTracker::init_tracking_options() reads outside array if commandline argument is empty
Fixed potential buffer overrun when giving empty option to NativeMemoryTracking commandline option

Reviewed-by: ctornqvi, hseigel, kvn
2012-11-28 09:19:38 -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
Nils Loodin
8bc04a0b28 7200092: Make NMT a bit friendlier to work with
Reviewed-by: kvn, ysr, azeemj
2012-09-21 10:56:28 +02: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
5bc134a53b 7191124: Optimized build is broken due to inconsistent use of DEBUG_ONLY and NOT_PRODUCT macros in NMT
Updated all related variables and methods to use NOT_PRODUCT macros

Reviewed-by: coleenp, acorn, kvn
2012-08-14 13:56:46 -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