[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-hotspot-gc-dev
Subject: Re: RFR: 8297247: Remark time not added to G1 GarbageCollectorMXBeans [v4]
From: Yude Lin <duke () openjdk ! org>
Date: 2022-11-29 7:55:55
Message-ID: eXLP7Ch-MbZ9q0OyIYxxGcA0sGiwx0uj8UEIIEP6_pU=.5e94daba-6485-4231-b30f-1aa56f61d207 () github ! com
[Download RAW message or body]
> Hi,
>
> This change uses a G1MonitorScope (covers jstat and GC beans) to replace \
> TraceCollectorStats (only covers jstat) in VM_G1PauseConcurrent::doit(), so that \
> now Remark and Cleanup phase time are both collected by a GC bean. This change adds \
> a third bean "G1 Concurrent GC", after "G1 Young Generation" and "G1 Old \
> generation". This has good continuity, meaning that any current application code \
> who uses "G1 Young Generation" and "G1 Old generation" will see nothing changed, \
> but it will now observe a third bean and can decide what to do with it, e.g., \
> summing all of them up. Also now the gc beans and jstat fields have 1-to-1 \
> correspondance: "G1 Young Generation" -- YGC/YGCT
> "G1 Old generation" -- FGC/FGCT
> "G1 Concurrent GC" -- CGC/CGCT
>
> Alternative:
> I've considered using the existing bean "G1 Old generation", but it's currently \
> used for Full GCs, and I find unifying Full GCs with Remark and Cleanup under the \
> same bean is a little awkward. For example, I couldn't find a proper name for the \
> G1MemoryManager, or a proper "gc end message" for the post-gc notification. Also, \
> in this way, if users have previously hooked "G1 Old generation" to some kind of \
> Full GC alarm, then they might suddenly find a lot of false-positives (caused by \
> Remark and Cleanup). So this is undesirable.
> Ran tests:
> test/hotspot/jtreg:tier1-4
> test/jdk:tier1
> test/jdk:jdk_jfr_sanity
> test/jdk:needs_g1gc
> -Failure found and fixed: \
> jdk/jfr/event/gc/collection/TestGCEventMixedWithG1ConcurrentMark.java
>
> -Failure found and fixed: \
> jdk/jfr/event/gc/collection/TestGCEventMixedWithG1FullCollection.java \
> test/jdk:jdk_management
> -Failure found and fixed: \
> com/sun/management/GarbageCollectorMXBean/GarbageCollectionNotificationContentTest.java
>
> -Failure found and fixed: \
> com/sun/management/GarbageCollectorMXBean/GarbageCollectionNotificationTest.java
>
> -Failure found and fixed: java/lang/management/MemoryMXBean/MemoryTest.java#id0
> test/hotspot/jtreg:vmTestbase_vm_gc
> test/hotspot/jtreg:vmTestbase_nsk_monitoring
> test/hotspot/jtreg:vmTestbase_vm_gc_misc
> test/jdk:jdk_jmx
> test/hotspot/jtreg:hotspot_containers_extended
Yude Lin has updated the pull request incrementally with one additional commit since \
the last revision:
Suggested changes to tests
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/11341/files
- new: https://git.openjdk.org/jdk/pull/11341/files/f3be7e64..53df8927
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=11341&range=03
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=11341&range=02-03
Stats: 78 lines in 5 files changed: 24 ins; 31 del; 23 mod
Patch: https://git.openjdk.org/jdk/pull/11341.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/11341/head:pull/11341
PR: https://git.openjdk.org/jdk/pull/11341
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic