[PATCH] Exploit Empty Regions in Young Gen to Enhance PS Full GC Performance

Kim Barrett kim.barrett at oracle.com
Tue Jan 15 16:33:35 UTC 2019

> On Dec 23, 2018, at 12:38 PM, Haoyu Li <leihouyju at gmail.com> wrote:
> Hi all, 
> I have developed a patch to enhance the full GC performance of Parallel Scavenge on OpenJDK 11, may I have some reviews? The patch is described as follows and attached in this mail.
> […]
> The patch and evaluation result are attached.
> Best Regrads,
> Haoyu Li,
> Institute of Parallel and Distributed Systems(IPADS),
> School of Software,
> Shanghai Jiao Tong University

Thanks for offering to contribute to the OpenJDK project.  Sorry it's
taken a while to respond, but holidays &etc intervened.

The idea of the patch sounds interesting.  However, before we can
proceed, there may be some process issues that need to be addressed.

The first, and most critical: are you covered by an Oracle Contributor
Agreement (either individually or via an employer who is sponsoring
this work)?  If not, that needs to be dealt with first.  For details,
see https://openjdk.java.net/contribute/.

Another is that current development is going into the jdk repo
http://hg.openjdk.java.net/jdk/jdk/ (which is currently targeting JDK
13), while your email suggests your patch is against the OpenJDK 11
release.  This kind of change should be made in the current line of
development, and then perhaps considered for backporting.  So the
patch will likely need to be updated.  (It might not require all that
much modification though; ParallelGC has been pretty stable for a

Since you don't appear to be an OpenJDK committer/author, you'll need
a sponsor to help with some of the other pieces of the puzzle:

Each change requires an associated bug ID, from the OpenJDK bug
database.  Without a username there (which requires OpenJDK author
status), your sponsor can create the CR there.

Also, changes of more than some trivial extent generally get packaged
for review using the webrev tool, and published on cr.openjdk.java.net.
Your sponsor can help you with that.

Your change may need additional testing (both for correctness and
performance).  For example, you don't mention what platforms you've
tested on, there are a lot of functional tests for OpenJDK, and there
are probably other performance tests that should be applied to a
change like this.

For a change like this, your sponsor should be someone currently
involved in OpenJDK GC development, preferably in an area related to
the patch.  It's not required that they be an Oracle employee, though
for some things that might help.  I can help you find someone.  (It
might be me, but I don't want to commit to that today.)

More information about the hotspot-gc-dev mailing list