<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Vladimir,<br>
    <br>
    Test generated 5 directives of size 1000 directives before.<br>
    Previously test added them to directives stack one after another,
    making VM fail with native OOM (<a class="issue-link"
      data-issue-key="JDK-8144246"
      href="https://bugs.openjdk.java.net/browse/JDK-8144246"
      id="key-val" rel="4856376">JDK-8144246</a>).
    CompilerDirectivesLimit flag was added with default value of 50.
    Since that test began to add directives on the stack failing every
    time.<br>
    <br>
    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".<br>
    <br>
    Added Nils to CC. Nils, could you please take a look also?<br>
    <br>
    <div class="moz-cite-prefix">On 19.02.2016 23:45, Vladimir Kozlov
      wrote:<br>
    </div>
    <blockquote cite="mid:56C77EFA.1060702@oracle.com" type="cite">Seems
      fine. What size of directive files was before and after this fix?
      JBS does not have this information.
      <br>
      <br>
      Thanks,
      <br>
      Vladimir
      <br>
      <br>
      On 2/19/16 9:04 AM, Pavel Punegov wrote:
      <br>
      <blockquote type="cite">Hi,
        <br>
        <br>
        please review the fix for a test bug.
        <br>
        <br>
        Issue:
        <br>
        1. Test timeouts because it executes a lot of jcmd processes.
        Number of
        <br>
        threads is calculated as number of processors (cores) * 10, that
        led to
        <br>
        an enormous number of jcmds executed on hosts with lots of
        CPUs/cores.
        <br>
        2. Test also spends a lot of time to generate 5 huge directive
        files,
        <br>
        that were tried to be added on to the directives stack.
        Directive stack
        <br>
        has a limit (default 50, controlled by 
        CompilerDirectivesLimit).
        <br>
        <br>
        Fix:
        <br>
        1. Calculate number of threads as a log of the number of
        CPUs/cores * 10.
        <br>
        2. Generate only one file that is less than specified
        <br>
        CompilerDirectivesLimit.
        <br>
        3. Add different commands to execute (add, clear, remove and
        print) and
        <br>
        generate them on demand.
        <br>
        <br>
        webrev: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~ppunegov/8148563/webrev.00/">http://cr.openjdk.java.net/~ppunegov/8148563/webrev.00/</a>
        <br>
        bug: <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8148563">https://bugs.openjdk.java.net/browse/JDK-8148563</a>
        <br>
        <br>
        — Pavel.
        <br>
        <br>
      </blockquote>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Thanks,
Pavel Punegov</pre>
  </body>
</html>