-
Notifications
You must be signed in to change notification settings - Fork 6.1k
8354555: Add generic JFR events for TaskTerminator #24676
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
Open
pengxiaolong
wants to merge
33
commits into
openjdk:master
Choose a base branch
from
pengxiaolong:JDK-8354555
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
33 commits
Select commit
Hold shift + click to select a range
c848c3f
Track termination timings and attempts in TaskTerminator
pengxiaolong 022a759
WorkerTask optionally returns TaskTerminator*
pengxiaolong af63457
Add method to get WorkerDataStats based on data in WorkerDataArray
pengxiaolong 35c0849
Add Jfr event EventGCTaskTerminationStatistics and method TaskTermina…
pengxiaolong 8d3fc3b
Fix typo
pengxiaolong c57e2a1
Fix build errors, namings
pengxiaolong cc26471
Invoke emit_termination_statistics after finishing execution
pengxiaolong 32fdd14
Enable new jfr event
pengxiaolong d3247cb
Not emit event when count is 0
pengxiaolong 6316854
timings should be in ms
pengxiaolong 6b9cbe6
Fix build error
pengxiaolong 313e5c0
Emit EventGCPhaseParallel events to track task terminations
pengxiaolong 6b57aff
Fix wrong string concat
pengxiaolong ad9d156
Revert changes in WorkerDataArray
pengxiaolong 4cff56f
Remove GCTaskTerminationStatistics event metadata
pengxiaolong fd25fda
Clean up
pengxiaolong 3fc1207
Remove duplicate EventGCPhaseParallel for termination
pengxiaolong 34f75f4
Address PR comments
pengxiaolong e2a9446
Override termination event name for remark
pengxiaolong 88998d0
termination_event_name must have prefix "Termination"
pengxiaolong b3374f5
Fix ident
pengxiaolong 737f5de
Move TERMINATION_EVENT_NAME_PREFIX_ASSERT to taskTerminator.cpp
pengxiaolong 59d9da4
Touch up
pengxiaolong 104ac1b
Add include "workerThread.hpp"
pengxiaolong 7b1412f
Emit exact same events for G1 as G1 is emitting today from G1Evacuate…
pengxiaolong e362b7c
Patch to fix the PR concerns
pengxiaolong 5ab1c5f
Merge branch 'master' into JDK-8354555
pengxiaolong fe67149
Fix jft test failure
pengxiaolong 17e3255
Merge branch 'openjdk:master' into JDK-8354555
pengxiaolong 8fb9a40
Merge branch 'openjdk:master' into JDK-8354555
pengxiaolong c6ff707
Merge branch 'openjdk:master' into JDK-8354555
pengxiaolong 7dd5ebf
Merge branch 'openjdk:master' into JDK-8354555
pengxiaolong 4d60e2e
Merge branch 'openjdk:master' into JDK-8354555
pengxiaolong File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -553,12 +553,10 @@ class G1ParEvacuateFollowersClosure : public VoidClosure { | |
TaskTerminator* terminator() { return _terminator; } | ||
|
||
inline bool offer_termination() { | ||
EventGCPhaseParallel event; | ||
G1ParScanThreadState* const pss = par_scan_state(); | ||
start_term_time(); | ||
const bool res = (terminator() == nullptr) ? true : terminator()->offer_termination(); | ||
end_term_time(); | ||
event.commit(GCId::current(), pss->worker_id(), G1GCPhaseTimes::phase_name(G1GCPhaseTimes::Termination)); | ||
return res; | ||
} | ||
|
||
|
@@ -667,7 +665,7 @@ class G1EvacuateRegionsBaseTask : public WorkerTask { | |
_g1h(G1CollectedHeap::heap()), | ||
_per_thread_states(per_thread_states), | ||
_task_queues(task_queues), | ||
_terminator(num_workers, _task_queues), | ||
_terminator(num_workers, _task_queues, G1GCPhaseTimes::phase_name(G1GCPhaseTimes::Termination)), | ||
_pinned_regions_recorded(false) | ||
{ } | ||
|
||
|
@@ -940,7 +938,7 @@ class G1STWRefProcProxyTask : public RefProcProxyTask { | |
: RefProcProxyTask("G1STWRefProcProxyTask", max_workers), | ||
_g1h(g1h), | ||
_pss(pss), | ||
_terminator(max_workers, &task_queues), | ||
_terminator(max_workers, &task_queues, G1GCPhaseTimes::phase_name(G1GCPhaseTimes::Termination)), | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. RefProcProxyTask emits Termination event from G1ParEvacuateFollowersClosure:: offer_termination(), I am trying to keep it same as it is today. |
||
_task_queues(task_queues) {} | ||
|
||
void work(uint worker_id) override { | ||
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
G1EvacuateRegionsBaseTask emits Termination event from G1ParEvacuateFollowersClosure:: offer_termination(), I am trying to keep it same.