RFR(s): 8179327: gtestLauncher should run tests on a separate thread (optionally)
Thomas Stüfe
thomas.stuefe at gmail.com
Mon Jul 17 14:42:04 UTC 2017
Hi Mikael,
On Mon, Jul 17, 2017 at 4:41 PM, Mikael Gerdin <mikael.gerdin at oracle.com>
wrote:
> Hi Thomas,
>
> On 2017-07-17 16:33, Thomas Stüfe wrote:
>
>> Hi Mikael,
>>
>> thanks for your review!
>>
>> New Webrev: http://cr.openjdk.java.net/~stuefe/webrevs/8179327-gtestLaun
>> cher-should-have-an-option-to-avoid-primordial-thread-for-
>> tests/webrev.01/webrev/
>>
>> See comments inline.
>>
>
> Thanks for fixing this, it looks a lot nicer now.
> I can sponsor the change for you. I think Robbin is on vacation but I
> don't think he'll mind a bit of additional cleanups.
>
> /Mikael
>
>
Thanks! That would be nice!
..Thomas
>
>> On Mon, Jul 17, 2017 at 10:56 AM, Mikael Gerdin <mikael.gerdin at oracle.com
>> <mailto:mikael.gerdin at oracle.com>> wrote:
>>
>> Hi Thomas,
>>
>> On 2017-07-13 08:18, Thomas Stüfe wrote:
>>
>> Ping..
>>
>> May I please get a second review and a sponsor?
>>
>>
>> I would prefer if you made a
>> const static bool DEFAULT_SPAWN_IN_NEW_THREAD which is initialized
>> with the proper platform value. The current 5-line return statement
>> in get_spawn_new_main_thread_arg looks a bit weird.
>>
>>
>> Good suggestion, fixed.
>>
>>
>> If you move the wrapping of argc/argv up to runUnitTests and pass
>> the args_t instead you can make run_in_new_thread completely
>> platform specific instead of having #ifdef _WIN32 in the middle, I
>> think this is the preferred style in the code base overall.
>>
>>
>> Okay. I did this and shuffled a bit code around, so now we only have one
>> #ifdef _WIN32 section, should be better readable now.
>>
>> In the pthread join error path you have
>> "/rsyn" at the end of the line, is that intentional?
>>
>>
>> No, good catch, that was a stray console command.
>>
>> Kind Regards, Thomas
>>
>>
>> Thanks
>> /Mikael
>>
>>
>>
>> Thanks, Thomas
>>
>> On Tue, Jul 4, 2017 at 11:12 AM, Thomas Stüfe
>> <thomas.stuefe at gmail.com <mailto:thomas.stuefe at gmail.com>>
>> wrote:
>>
>>
>>
>> On Tue, Jul 4, 2017 at 10:22 AM, Robbin Ehn
>> <robbin.ehn at oracle.com <mailto:robbin.ehn at oracle.com>> wrote:
>>
>> Looks reasonable, thanks!
>>
>>
>> Thank you!
>>
>>
>> /Robbin
>>
>> If you don't mind, please don't wrap lines, links do not
>> work well with
>> line breaks in them :)
>>
>>
>> Oops, sorry!
>>
>>
>> On 07/02/2017 09:23 AM, Thomas Stüfe wrote:
>>
>> Dear all,
>>
>> please review the following change:
>>
>> Bug: JDK-8179327
>> <https://bugs.openjdk.java.net/browse/JDK-8179327
>> <https://bugs.openjdk.java.net/browse/JDK-8179327>>
>> Webrev: http://cr.openjdk.java.net/~stuefe/webrevs/
>> <http://cr.openjdk.java.net/~stuefe/webrevs/>
>> 8179327-gtestLauncher-should-have-an-option-to-avoid-
>> primordial-thread-for-tests/webrev.00/webrev/
>>
>> This fix is motivated by the inability of the AIX
>> openjdk vm to run on
>> the
>> primordial thread (see
>> https://bugs.openjdk.java.net/browse/JDK-8171505
>> <https://bugs.openjdk.java.net/browse/JDK-8171505>
>> ),
>> which we unfortunately cannot do much about. This
>> prevented us until now
>> to
>> run gtests successfully, because the gtestlauncher
>> (in contrast to the
>> standard java launcher) invokes the VM on the
>> primordial thread.
>>
>> To fix this, I gave the gtest launcher the ability
>> to run the tests in an
>> own thread. Instead of sprinkling the source with
>> "#ifdef _AIX", I added
>> a
>> command line option "-new-thread", which allows to
>> start the tests in a
>> new
>> thread, and implemented this feature for all
>> platforms (well, posix and
>> windows). On all platforms save AIX this is by
>> default off, so nothing
>> changes. On AIX, tests will be default be executed
>> in a new thread.
>>
>> Thanks for reviewing,
>>
>> Kind Regards, Thomas
>>
>>
>>
>>
>>
More information about the hotspot-dev
mailing list