Quantcast

RFR(M) : Add CTW test for boot module

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RFR(M) : Add CTW test for boot module

Igor Ignatyev
http://cr.openjdk.java.net/~iignatyev//8178291/webrev.00/index.html
> 237 lines changed: 236 ins; 0 del; 1 mod;

Hi all,

could you please review the patch which adds a test which runs CTW for lib/modules?

Besides a file w/ jtreg test description, the patch contains CtwRunner class, which is a driver class for CTW tests. it compiles all classes from a target and, in case of an error, saves information about the error and restart CTW starting from the next class. The test takes approx. 2 hours to complete.  

currently there are 20 known errors related to class initialization. corresponding bugs will be filed and fixed shortly.

webrev: http://cr.openjdk.java.net/~iignatyev//8178291/webrev.00/index.html
jbs: https://bugs.openjdk.java.net/browse/JDK-8178291
testing: test/applications/ctw/Modules.java

Thanks,
-- Igor
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RFR(M) : Add CTW test for boot module

Vladimir Kozlov
Igor,

When we ran CTW in Nightly before we sliced rt.jar to few parts using CompileTheWorldStartAt/CompileTheWorldStopAt to
get better parallelism.
Can we do the same here? You already have mechanism to restart with N+1 after error.
2 hours for serial test execution is too long - would be nice to parallelize it.

Thanks,
Vladimir

On 4/12/17 7:23 PM, Igor Ignatyev wrote:

> http://cr.openjdk.java.net/~iignatyev//8178291/webrev.00/index.html
>> 237 lines changed: 236 ins; 0 del; 1 mod;
>
> Hi all,
>
> could you please review the patch which adds a test which runs CTW for lib/modules?
>
> Besides a file w/ jtreg test description, the patch contains CtwRunner class, which is a driver class for CTW tests. it compiles all classes from a target and, in case of an error, saves information about the error and restart CTW starting from the next class. The test takes approx. 2 hours to complete.
>
> currently there are 20 known errors related to class initialization. corresponding bugs will be filed and fixed shortly.
>
> webrev: http://cr.openjdk.java.net/~iignatyev//8178291/webrev.00/index.html
> jbs: https://bugs.openjdk.java.net/browse/JDK-8178291
> testing: test/applications/ctw/Modules.java
>
> Thanks,
> -- Igor
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RFR(M) : Add CTW test for boot module

Igor Ignatyev
Vladimir,

In current implementation, CTW is parallelized itself, we compile classes independently by CICompilerCount threads, so I don't think having N separate processes will give us any improvements here.

-- Igor

> On Apr 12, 2017, at 7:55 PM, Vladimir Kozlov <[hidden email]> wrote:
>
> Igor,
>
> When we ran CTW in Nightly before we sliced rt.jar to few parts using CompileTheWorldStartAt/CompileTheWorldStopAt to get better parallelism.
> Can we do the same here? You already have mechanism to restart with N+1 after error.
> 2 hours for serial test execution is too long - would be nice to parallelize it.
>
> Thanks,
> Vladimir
>
> On 4/12/17 7:23 PM, Igor Ignatyev wrote:
>> http://cr.openjdk.java.net/~iignatyev//8178291/webrev.00/index.html
>>> 237 lines changed: 236 ins; 0 del; 1 mod;
>>
>> Hi all,
>>
>> could you please review the patch which adds a test which runs CTW for lib/modules?
>>
>> Besides a file w/ jtreg test description, the patch contains CtwRunner class, which is a driver class for CTW tests. it compiles all classes from a target and, in case of an error, saves information about the error and restart CTW starting from the next class. The test takes approx. 2 hours to complete.
>>
>> currently there are 20 known errors related to class initialization. corresponding bugs will be filed and fixed shortly.
>>
>> webrev: http://cr.openjdk.java.net/~iignatyev//8178291/webrev.00/index.html
>> jbs: https://bugs.openjdk.java.net/browse/JDK-8178291
>> testing: test/applications/ctw/Modules.java
>>
>> Thanks,
>> -- Igor
>>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RFR(M) : Add CTW test for boot module

Vladimir Kozlov
On 4/12/17 8:15 PM, Igor Ignatyev wrote:
> Vladimir,
>
> In current implementation, CTW is parallelized itself, we compile classes independently by CICompilerCount threads, so I don't think having N separate processes will give us any improvements here.

Where is that code? Code in ClassLoader::compile_the_world_in() iterates methods only.

I also don't see CompileTheWorld flag in new test files. Only CompileTheWorldStartAt.

Vladimir

>
> -- Igor
>
>> On Apr 12, 2017, at 7:55 PM, Vladimir Kozlov <[hidden email]> wrote:
>>
>> Igor,
>>
>> When we ran CTW in Nightly before we sliced rt.jar to few parts using CompileTheWorldStartAt/CompileTheWorldStopAt to get better parallelism.
>> Can we do the same here? You already have mechanism to restart with N+1 after error.
>> 2 hours for serial test execution is too long - would be nice to parallelize it.
>>
>> Thanks,
>> Vladimir
>>
>> On 4/12/17 7:23 PM, Igor Ignatyev wrote:
>>> http://cr.openjdk.java.net/~iignatyev//8178291/webrev.00/index.html
>>>> 237 lines changed: 236 ins; 0 del; 1 mod;
>>>
>>> Hi all,
>>>
>>> could you please review the patch which adds a test which runs CTW for lib/modules?
>>>
>>> Besides a file w/ jtreg test description, the patch contains CtwRunner class, which is a driver class for CTW tests. it compiles all classes from a target and, in case of an error, saves information about the error and restart CTW starting from the next class. The test takes approx. 2 hours to complete.
>>>
>>> currently there are 20 known errors related to class initialization. corresponding bugs will be filed and fixed shortly.
>>>
>>> webrev: http://cr.openjdk.java.net/~iignatyev//8178291/webrev.00/index.html
>>> jbs: https://bugs.openjdk.java.net/browse/JDK-8178291
>>> testing: test/applications/ctw/Modules.java
>>>
>>> Thanks,
>>> -- Igor
>>>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RFR(M) : Add CTW test for boot module

Igor Ignatyev
this code is in CTW library hotspot/test/testlibrary/ctw, more precisely in sun.hotspot.tools.ctw.CompileTheWorld::createExecutor method. we stoped to use ClassLoader::compile_the_world and switched to java library shortly after 1st jigsaw integration, see JDK-8153675. Actually, I ain't sure if ClassLoader::compile_the_world still can be used, it has dependency on Xbootclasspath/p which was removed. I was planning to remove CompileTheWorld flag and all the related code from hotspot in JDK 9 TF, but didn't have time.

-- Igor

> On Apr 12, 2017, at 8:34 PM, Vladimir Kozlov <[hidden email]> wrote:
>
> On 4/12/17 8:15 PM, Igor Ignatyev wrote:
>> Vladimir,
>>
>> In current implementation, CTW is parallelized itself, we compile classes independently by CICompilerCount threads, so I don't think having N separate processes will give us any improvements here.
>
> Where is that code? Code in ClassLoader::compile_the_world_in() iterates methods only.
>
> I also don't see CompileTheWorld flag in new test files. Only CompileTheWorldStartAt.
>
> Vladimir
>
>>
>> -- Igor
>>
>>> On Apr 12, 2017, at 7:55 PM, Vladimir Kozlov <[hidden email]> wrote:
>>>
>>> Igor,
>>>
>>> When we ran CTW in Nightly before we sliced rt.jar to few parts using CompileTheWorldStartAt/CompileTheWorldStopAt to get better parallelism.
>>> Can we do the same here? You already have mechanism to restart with N+1 after error.
>>> 2 hours for serial test execution is too long - would be nice to parallelize it.
>>>
>>> Thanks,
>>> Vladimir
>>>
>>> On 4/12/17 7:23 PM, Igor Ignatyev wrote:
>>>> http://cr.openjdk.java.net/~iignatyev//8178291/webrev.00/index.html
>>>>> 237 lines changed: 236 ins; 0 del; 1 mod;
>>>>
>>>> Hi all,
>>>>
>>>> could you please review the patch which adds a test which runs CTW for lib/modules?
>>>>
>>>> Besides a file w/ jtreg test description, the patch contains CtwRunner class, which is a driver class for CTW tests. it compiles all classes from a target and, in case of an error, saves information about the error and restart CTW starting from the next class. The test takes approx. 2 hours to complete.
>>>>
>>>> currently there are 20 known errors related to class initialization. corresponding bugs will be filed and fixed shortly.
>>>>
>>>> webrev: http://cr.openjdk.java.net/~iignatyev//8178291/webrev.00/index.html
>>>> jbs: https://bugs.openjdk.java.net/browse/JDK-8178291
>>>> testing: test/applications/ctw/Modules.java
>>>>
>>>> Thanks,
>>>> -- Igor
>>>>
>>

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: RFR(M) : Add CTW test for boot module

Vladimir Kozlov
Okay. I see now.
Changes looks good then.

Thanks,
Vladimir

On 4/12/17 8:48 PM, Igor Ignatyev wrote:

> this code is in CTW library hotspot/test/testlibrary/ctw, more precisely in sun.hotspot.tools.ctw.CompileTheWorld::createExecutor method. we stoped to use ClassLoader::compile_the_world and switched to java library shortly after 1st jigsaw integration, see JDK-8153675. Actually, I ain't sure if ClassLoader::compile_the_world still can be used, it has dependency on Xbootclasspath/p which was removed. I was planning to remove CompileTheWorld flag and all the related code from hotspot in JDK 9 TF, but didn't have time.
>
> -- Igor
>
>> On Apr 12, 2017, at 8:34 PM, Vladimir Kozlov <[hidden email]> wrote:
>>
>> On 4/12/17 8:15 PM, Igor Ignatyev wrote:
>>> Vladimir,
>>>
>>> In current implementation, CTW is parallelized itself, we compile classes independently by CICompilerCount threads, so I don't think having N separate processes will give us any improvements here.
>>
>> Where is that code? Code in ClassLoader::compile_the_world_in() iterates methods only.
>>
>> I also don't see CompileTheWorld flag in new test files. Only CompileTheWorldStartAt.
>>
>> Vladimir
>>
>>>
>>> -- Igor
>>>
>>>> On Apr 12, 2017, at 7:55 PM, Vladimir Kozlov <[hidden email]> wrote:
>>>>
>>>> Igor,
>>>>
>>>> When we ran CTW in Nightly before we sliced rt.jar to few parts using CompileTheWorldStartAt/CompileTheWorldStopAt to get better parallelism.
>>>> Can we do the same here? You already have mechanism to restart with N+1 after error.
>>>> 2 hours for serial test execution is too long - would be nice to parallelize it.
>>>>
>>>> Thanks,
>>>> Vladimir
>>>>
>>>> On 4/12/17 7:23 PM, Igor Ignatyev wrote:
>>>>> http://cr.openjdk.java.net/~iignatyev//8178291/webrev.00/index.html
>>>>>> 237 lines changed: 236 ins; 0 del; 1 mod;
>>>>>
>>>>> Hi all,
>>>>>
>>>>> could you please review the patch which adds a test which runs CTW for lib/modules?
>>>>>
>>>>> Besides a file w/ jtreg test description, the patch contains CtwRunner class, which is a driver class for CTW tests. it compiles all classes from a target and, in case of an error, saves information about the error and restart CTW starting from the next class. The test takes approx. 2 hours to complete.
>>>>>
>>>>> currently there are 20 known errors related to class initialization. corresponding bugs will be filed and fixed shortly.
>>>>>
>>>>> webrev: http://cr.openjdk.java.net/~iignatyev//8178291/webrev.00/index.html
>>>>> jbs: https://bugs.openjdk.java.net/browse/JDK-8178291
>>>>> testing: test/applications/ctw/Modules.java
>>>>>
>>>>> Thanks,
>>>>> -- Igor
>>>>>
>>>
>
Loading...