JDK-8315149 added an hsperf counter sun.threads.cpu_time.gc_conc_mark for CPU time consumed by G1's concurrent marking master thread and worker threads.
This counter is not updated during G1ConcurrentMark::mark_from_roots(). For large-heap (e.g., >50GiB) applications, mark_from_roots() could take many seconds or even minutes. For use cases such as Adaptable Heap Sizing (AHS, https://mail.openjdk.org/pipermail/hotspot-dev/2022-September/064190.html), they could read the hsperf counter every few seconds (e.g. 1-5s). A sudden, delayed increase in sun.threads.cpu_time.gc_conc_mark could cause noise and mis-representation for those use cases.
It would be better to update sun.threads.cpu_time.gc_conc_mark more frequently during mark_from_roots().