Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

8315149: Add hsperf counters for CPU time of internal GC threads #15082

Closed
wants to merge 61 commits into from
Closed
Changes from 2 commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
6c32e93
Add hsperf counters for CPU time of JVM internal threads
jjoo172 Jul 31, 2023
557dbfa
address dholmes@ comments
jjoo172 Aug 30, 2023
eb911ee
address remainder of dholmes' comments
jjoo172 Sep 7, 2023
74b6db2
address partial comments from Volker and Man
jjoo172 Sep 8, 2023
d2e4867
rename counters to be *.cpu_time
jjoo172 Sep 8, 2023
bcfe151
Properly initialize concurrent dedup thread counter
jjoo172 Sep 8, 2023
780dfd3
Move ThreadTotalCPUTimeClosure to thread.hpp
jjoo172 Sep 8, 2023
2f44b81
Fix includes
jjoo172 Sep 8, 2023
27c45a3
Merge branch 'openjdk:master' into master
jjoo172 Sep 11, 2023
43e2de1
Resolve some simple comments
jjoo172 Sep 11, 2023
18c8f9c
Address counte update correctness
jjoo172 Sep 12, 2023
dc7ff00
Partial commit attempting to add total cpu tracker
jjoo172 Sep 13, 2023
f07bf70
Update total gc cpu implementation (still not finished)
jjoo172 Sep 13, 2023
6ba441e
Update to improve total time tracking
jjoo172 Sep 14, 2023
9ed97e8
comment out lines that cause segfault
jjoo172 Sep 14, 2023
8b6c553
Fix segfaults on build
jjoo172 Sep 14, 2023
4e51426
Add unit test to check existence of GC CPU counters
jjoo172 Sep 14, 2023
7e1812e
Clean up test and improve total counter name
jjoo172 Sep 14, 2023
0a2565d
Address dholmes@ comments
jjoo172 Sep 16, 2023
d45e54d
Add header for failing build check
jjoo172 Sep 18, 2023
fed27c0
Add more header files for broken debug build
jjoo172 Sep 18, 2023
9c6e072
Fix more broken headers for sanity checks
jjoo172 Sep 19, 2023
0fbfa00
Fix logic for publishing total cpu time and convert atomic jlong to long
jjoo172 Sep 19, 2023
3eae6bb
Fix build issues
jjoo172 Sep 19, 2023
9b5772f
Update logic to use cmpxchg rather than add
jjoo172 Oct 3, 2023
2807c19
Remove header and fix long to jlong
jjoo172 Oct 4, 2023
590df03
add comment and change if defined to ifdef
jjoo172 Oct 5, 2023
1e8c1a4
Fix test
jjoo172 Oct 12, 2023
fc5cf3d
Add Copyright header to test and formatting changes
jjoo172 Oct 12, 2023
19fe9b3
Add call to publish in parallel gc and update counter names
jjoo172 Oct 13, 2023
b57aa46
Merge branch 'openjdk:master' into master
jjoo172 Oct 25, 2023
ebafa2b
Use 64-bit atomic add for incrementing counters
jjoo172 Oct 25, 2023
2fc508f
Remove StringDedup from GC thread list
jjoo172 Oct 26, 2023
0ef7046
Implement hsperf counter for G1ServiceThread
jjoo172 Oct 31, 2023
be104e1
Replace NULL with nullptr
jjoo172 Oct 31, 2023
2446149
Merge branch 'openjdk:master' into master
jjoo172 Nov 1, 2023
ba3c280
Attempt to fix broken test
jjoo172 Nov 1, 2023
9fb36a9
revert gitignore change
jjoo172 Nov 1, 2023
ac780c5
Attempt to fix duplicate name error in test
jjoo172 Nov 7, 2023
22ccb90
Refactor changes to counters, successful build
jjoo172 Nov 9, 2023
41771db
Add missing cpuTimeCounters files
jjoo172 Nov 9, 2023
2f3de0b
Make CPUTimeCounters a singleton class
jjoo172 Nov 10, 2023
533af85
Refactor ConcurrentRefine logic
jjoo172 Nov 11, 2023
189d185
Update parallel workers time after Remark
jjoo172 Nov 14, 2023
5bcafa6
Revert test changes and fix whitespace issues
jjoo172 Nov 15, 2023
4db8f09
Move vm and conc_dedup counters to cpuTimeCounters class
jjoo172 Nov 15, 2023
ce7dbfc
Fix whitespace
jjoo172 Nov 15, 2023
17a8eaf
Address comments and refactor TTTC class for simplification
jjoo172 Nov 21, 2023
46a2c55
Fix assertion logic
jjoo172 Nov 21, 2023
4ca30f3
Update memory tracking type for CPUTimeCounters
jjoo172 Nov 21, 2023
fcc7e47
Cleanup and address comments
jjoo172 Nov 22, 2023
0b79bce
Fix namespace issues
jjoo172 Nov 28, 2023
abb9025
Fix namespace issues (2)
jjoo172 Nov 28, 2023
91100e8
Change APIs to be all-static, address other comments
jjoo172 Nov 30, 2023
d11d696
remove whitespace
jjoo172 Nov 30, 2023
63adf78
Merge branch 'openjdk:master' into master
jjoo172 Nov 30, 2023
e6726ab
fix whitespace again
jjoo172 Nov 30, 2023
7e4cdcd
Add missing include
jjoo172 Nov 30, 2023
fcf00cf
Return after ShouldNotReachHere
jjoo172 Nov 30, 2023
c2e6619
Ensure TTTC is destructed before publishing
jjoo172 Dec 2, 2023
242fef8
Only create CPUTimeCounters if supported
jjoo172 Dec 2, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/hotspot/share/runtime/cpuTimeCounters.hpp
Original file line number Diff line number Diff line change
@@ -49,7 +49,7 @@ class CPUTimeGroups : public AllStatic {
static bool is_gc_counter(CPUTimeType val);
};

class CPUTimeCounters: public CHeapObj<mtGC> {
class CPUTimeCounters: public CHeapObj<mtServiceability> {
private:
// CPUTimeCounters is a singleton instance.
CPUTimeCounters();
@@ -74,7 +74,7 @@ class CPUTimeCounters: public CHeapObj<mtGC> {
}

static void initialize() {
assert(get_instance() == nullptr, "we can only allocate one CPUTimeCounters object");
assert(_instance == nullptr, "we can only allocate one CPUTimeCounters object");
_instance = new CPUTimeCounters();
}