RFR: 8257145: Performance regression with -XX:-ResizePLAB after JDK-8079555 [v5]

Dongbo He dongbohe at openjdk.java.net
Tue Dec 8 15:41:13 UTC 2020


On Thu, 3 Dec 2020 03:14:13 GMT, Dongbo He <dongbohe at openjdk.org> wrote:

>> Looks good, thanks for fixing this.
>
> Thank you for your review, kstefanj.
> 
> As we saw in the test, this change will cause `./test/hotspot/jtreg/gc/g1/plab/TestPLABPromotion.java` to fail.  I'm working on this case and will push it here for review when the work is done.

The failed cases are:   
`test/hotspot/jtreg/gc/g1/plab/TestPLABPromotion.java:100`
`test/hotspot/jtreg/gc/g1/plab/TestPLABPromotion.java:106`

The error message is as follows:
STDERR:
java.lang.RuntimeException: Expect that Survivor direct allocation are similar to all mem consumed
	at gc.g1.plab.TestPLABPromotion.checkLiveObjectsPromotion(TestPLABPromotion.java:168)
	at gc.g1.plab.TestPLABPromotion.checkResults(TestPLABPromotion.java:140)
	at gc.g1.plab.TestPLABPromotion.main(TestPLABPromotion.java:102)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
	at java.base/java.lang.Thread.run(Thread.java:831)

If except direct allocated, OBJECT_SIZE/word_size should bigger than PLAB_SIZE*WASTE_PCT.

Worked correctly after this patch.

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

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



More information about the hotspot-gc-dev mailing list