8382089: G1: Refactor concurrent refinement state machine#30706
8382089: G1: Refactor concurrent refinement state machine#30706albertnetymk wants to merge 2 commits intoopenjdk:masterfrom
Conversation
|
👋 Welcome back ayang! A progress list of the required criteria for merging this PR into |
|
❗ This change is not yet ready to be integrated. |
|
@albertnetymk The following label will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command. |
Webrevs
|
| // 5. Sweep refinement table until done | ||
| bool interrupted_by_gc = false; | ||
|
|
||
| log_info(gc, task)("Concurrent Refine Sweep Using %u of %u Workers", _cr->num_threads_wanted(), _cr->max_num_threads()); |
There was a problem hiding this comment.
I believe this GC log, which displays the number of worker threads, is meaningful. Should it really be deleted?
| break; | ||
| } else { | ||
| jlong yield_during_sweep_duration = os::elapsed_counter() - yield_during_sweep_start; | ||
| log_debug(gc, refine)("Yielded from card table sweeping for %.2fms, no GC inbetween, continue", |
There was a problem hiding this comment.
I haven’t looked at this log, so I can’t say whether it’s necessary or not, but is deleting it appropriate?
|
Restored both logs. I think "log_debug(gc, refine)("Yielded from card table sweeping ..." is not very useful, but can discuss/address that in a separate PR. |
Streamline the content of `G1ConcurrentRefineThread::do_refinement so each step/state is clearly visible, which is a good entry point for reviewing this refactoring. The largest diff is for step5/6, which is extracted into helpers just like the previous steps.
For state management, added
enter_state(State, Ticks)that atomically updates state and records timestamp.Test: tier1-7
Progress
Issue
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/30706/head:pull/30706$ git checkout pull/30706Update a local copy of the PR:
$ git checkout pull/30706$ git pull https://git.openjdk.org/jdk.git pull/30706/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 30706View PR using the GUI difftool:
$ git pr show -t 30706Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/30706.diff
Using Webrev
Link to Webrev Comment