RFR 8215047: Task terminators do not complete termination in consistent state
Thomas Schatzl
thomas.schatzl at oracle.com
Wed Jan 23 13:48:20 UTC 2019
Hi,
On Thu, 2019-01-17 at 09:30 -0500, Zhengyu Gu wrote:
> Ping!
>
> In addition to hotspot_gc tests (+/- UseOWSTTaskTerminator) on Linux
> 64, also ran vmTestbase_vm_gc (+/- UseOWSTTaskterminator) and submit
> tests.
currently running it through our test suite.
>
> Thanks,
>
> -Zhengyu
>
> On 1/3/19 10:49 AM, zgu at redhat.com wrote:
> > Threads that enter termination protocol, should always see the same
> > termination result, terminated or aborted. And terminator should
> > always complete in one of two following states:
> >
> > Terminated: _offered_termination == _n_threads (all threads arrived
> > and terminated)
> > Aborted: _offered_termination = 0 (none of threads completed)
> >
> > Current implementation does not guarantee that, so that, it can
> > leave terminator in inconsistent states. The inconsistent states
> > can trigger assertion failure when reset the terminator for reuse
> > (vs. reset_for_reuse() method)
Nice catch. Thanks.
> >
> >
> > Bug: https://bugs.openjdk.java.net/browse/JDK-8215047
> > Webrev:
> > http://cr.openjdk.java.net/~zgu/JDK-8215047/webrev.00/index.htm
> > l
initial comments:
- taskqueue.hpp: I recommend adding an empty virtual destructor in any
case.
- owstTaskTerminator.cpp:69: s/returnning/returning/
I will think a bit more about the change while waiting for the test
results.
Thanks,
Thomas
More information about the hotspot-gc-dev
mailing list