RFR: 8255011: [TESTBUG] UnexpectedDeoptimizationAllTest.java timed out

Igor Ignatyev iignatyev at openjdk.java.net
Tue Nov 3 22:17:58 UTC 2020


On Tue, 3 Nov 2020 08:14:29 GMT, Nils Eliasson <neliasso at openjdk.org> wrote:

> Hi, 
> 
> This patch updates the code cache stress tests. I haven't been able to reproduce or retrieve a core file. 
> 
> What I can see is that the tests provokes compile storms, and that the single C1 thread (on a 4CPU system) sometimes has trouble keeping up. A factor may also be that the tests run time scale with the timeout time - so that the time allotted as margin before the timeout is only 20% of the total runtime. Combining this with Xcomp, and that the test may run concurrently with other stress tests, it is reasonable that a timeout may occur.
> 
> I suggest to cap the tests to 60 seconds of testing. I've experimented with meassuring how much work is done and use that as a metric - but the different tests that use the CodeCacheStressRunner has completely different profiles. 
> 
> In UnexpectedDeoptimizationAllTest.java I have adjusted the sleep time to 100 millis between the invalidations of the entire code cache.
> 
> In UnexpectedDeoptimizationTest.java  I have added a sleep of 10 miilis between deoptimizing parts of the stack. The idea is to give the stack time to growth a bit before the next deoptimization. Otherwise the test might end up running mostly in the interpreter.
> 
> Please review,
> Nils Eliasson

Changes requested by iignatyev (Reviewer).

test/hotspot/jtreg/compiler/codecache/stress/CodeCacheStressRunner.java line 45:

> 43:             long timeout = Utils.adjustTimeout(Utils.DEFAULT_TEST_TIMEOUT);
> 44:             timeout *= 0.75;
> 45:             new TimeLimitedRunner(timeout, 2.0d, this::test).call();

why do you need `end_time`? won't it be enough to just set `timeout` to 60_000?

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

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


More information about the hotspot-compiler-dev mailing list