RFR: 8264718: Shenandoah: enable string deduplication during root scanning

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

RFR: 8264718: Shenandoah: enable string deduplication during root scanning

Zhengyu Gu-3
Shenandoah used to scan roots at pauses, so it deliberately disables string deduplication during root scanning to avoid extra pause times.

Now, Shenandoah scans roots in concurrent phase, it is no longer a concern, we should enable it.

Test:
- [x] hotspot_gc_shenandoah

-------------

Commit messages:
 - Merge branch 'master' into enable_dedup_roots
 - init

Changes: https://git.openjdk.java.net/jdk/pull/3348/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3348&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8264718
  Stats: 69 lines in 5 files changed: 40 ins; 25 del; 4 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3348.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3348/head:pull/3348

PR: https://git.openjdk.java.net/jdk/pull/3348
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264718: Shenandoah: enable string deduplication during root scanning

王超
On Mon, 5 Apr 2021 21:42:32 GMT, Zhengyu Gu <[hidden email]> wrote:

> Shenandoah used to scan roots at pauses, so it deliberately disables string deduplication during root scanning to avoid extra pause times.
>
> Now, Shenandoah scans roots in concurrent phase, it is no longer a concern, we should enable it.
>
> Test:
> - [x] hotspot_gc_shenandoah

src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp line 134:

> 132:     ShenandoahInitMarkRootsClosure<ENQUEUE_DEDUP>  init_mark(task_queues()->queue(worker_id));
> 133:     _root_scanner.roots_do(&init_mark, worker_id);
> 134:

extra empty line

-------------

PR: https://git.openjdk.java.net/jdk/pull/3348
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264718: Shenandoah: enable string deduplication during root scanning [v2]

Zhengyu Gu-3
In reply to this post by Zhengyu Gu-3
> Shenandoah used to scan roots at pauses, so it deliberately disables string deduplication during root scanning to avoid extra pause times.
>
> Now, Shenandoah scans roots in concurrent phase, it is no longer a concern, we should enable it.
>
> Test:
> - [x] hotspot_gc_shenandoah

Zhengyu Gu has updated the pull request incrementally with one additional commit since the last revision:

  Removed excessive empty lines

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3348/files
  - new: https://git.openjdk.java.net/jdk/pull/3348/files/45344ee4..d3d63b38

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3348&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3348&range=00-01

  Stats: 2 lines in 1 file changed: 0 ins; 2 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3348.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3348/head:pull/3348

PR: https://git.openjdk.java.net/jdk/pull/3348
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264718: Shenandoah: enable string deduplication during root scanning [v2]

Aleksey Shipilev-5
On Wed, 7 Apr 2021 12:11:18 GMT, Zhengyu Gu <[hidden email]> wrote:

>> Shenandoah used to scan roots at pauses, so it deliberately disables string deduplication during root scanning to avoid extra pause times.
>>
>> Now, Shenandoah scans roots in concurrent phase, it is no longer a concern, we should enable it.
>>
>> Test:
>> - [x] hotspot_gc_shenandoah
>
> Zhengyu Gu has updated the pull request incrementally with one additional commit since the last revision:
>
>   Removed excessive empty lines

Looks fine, with a minor nit. Fix it before push.

src/hotspot/share/gc/shenandoah/shenandoahSTWMark.cpp line 132:

> 130: void ShenandoahSTWMark::mark_roots(uint worker_id) {
> 131:   if (ShenandoahStringDedup::is_enabled()) {
> 132:     ShenandoahInitMarkRootsClosure<ENQUEUE_DEDUP>  init_mark(task_queues()->queue(worker_id));

Excess space here and on the other branch, between `<ENQUEUE_DEDUP>` and `init_mark`.

-------------

Marked as reviewed by shade (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3348
Reply | Threaded
Open this post in threaded view
|

Re: RFR: 8264718: Shenandoah: enable string deduplication during root scanning [v3]

Zhengyu Gu-3
In reply to this post by Zhengyu Gu-3
> Shenandoah used to scan roots at pauses, so it deliberately disables string deduplication during root scanning to avoid extra pause times.
>
> Now, Shenandoah scans roots in concurrent phase, it is no longer a concern, we should enable it.
>
> Test:
> - [x] hotspot_gc_shenandoah

Zhengyu Gu has updated the pull request incrementally with one additional commit since the last revision:

  Removed excess spaces

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3348/files
  - new: https://git.openjdk.java.net/jdk/pull/3348/files/d3d63b38..33862ac2

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=3348&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=3348&range=01-02

  Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3348.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3348/head:pull/3348

PR: https://git.openjdk.java.net/jdk/pull/3348
Reply | Threaded
Open this post in threaded view
|

Integrated: 8264718: Shenandoah: enable string deduplication during root scanning

Zhengyu Gu-3
In reply to this post by Zhengyu Gu-3
On Mon, 5 Apr 2021 21:42:32 GMT, Zhengyu Gu <[hidden email]> wrote:

> Shenandoah used to scan roots at pauses, so it deliberately disables string deduplication during root scanning to avoid extra pause times.
>
> Now, Shenandoah scans roots in concurrent phase, it is no longer a concern, we should enable it.
>
> Test:
> - [x] hotspot_gc_shenandoah

This pull request has now been integrated.

Changeset: 3aec2d96
Author:    Zhengyu Gu <[hidden email]>
URL:       https://git.openjdk.java.net/jdk/commit/3aec2d96
Stats:     69 lines in 5 files changed: 39 ins; 26 del; 4 mod

8264718: Shenandoah: enable string deduplication during root scanning

Reviewed-by: shade

-------------

PR: https://git.openjdk.java.net/jdk/pull/3348