[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