RFR (S): 8148563: compiler/compilercontrol/jcmd/StressAddMultiThreadedTest.java timesout
pavel.punegov at oracle.com
Sat Feb 20 12:25:22 UTC 2016
Test generated 5 directives of size 1000 directives before.
Previously test added them to directives stack one after another, making
VM fail with native OOM (JDK-8144246
CompilerDirectivesLimit flag was added with default value of 50. Since
that test began to add directives on the stack failing every time.
I changed the test to create only one file (999 directives) to reach the
limit of 1000 (set by option). So it still can try to add directives
over the limit, but it also executes other commands like "clear",
"remove" and "print".
Added Nils to CC. Nils, could you please take a look also?
On 19.02.2016 23:45, Vladimir Kozlov wrote:
> Seems fine. What size of directive files was before and after this
> fix? JBS does not have this information.
> On 2/19/16 9:04 AM, Pavel Punegov wrote:
>> please review the fix for a test bug.
>> 1. Test timeouts because it executes a lot of jcmd processes. Number of
>> threads is calculated as number of processors (cores) * 10, that led to
>> an enormous number of jcmds executed on hosts with lots of CPUs/cores.
>> 2. Test also spends a lot of time to generate 5 huge directive files,
>> that were tried to be added on to the directives stack. Directive stack
>> has a limit (default 50, controlled by CompilerDirectivesLimit).
>> 1. Calculate number of threads as a log of the number of CPUs/cores *
>> 2. Generate only one file that is less than specified
>> 3. Add different commands to execute (add, clear, remove and print) and
>> generate them on demand.
>> webrev: http://cr.openjdk.java.net/~ppunegov/8148563/webrev.00/
>> bug: https://bugs.openjdk.java.net/browse/JDK-8148563
>> — Pavel.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the hotspot-compiler-dev