RFR: jsr166 jdk9 integration wave 2
Martin Buchholz
martinrb at google.com
Mon Nov 16 23:04:33 UTC 2015
On Mon, Nov 16, 2015 at 2:42 PM, Aleksey Shipilev <
aleksey.shipilev at oracle.com> wrote:
>
> ForkJoinWorkerThread.newThread/:
> * I think this one requires CCC, because it changes public API in
> newThread.
>
>
That's where someone from Oracle needs to help out ...
> PhaserBasic/:
> * Are those tracing statements ("// trace("barrier action",
> startTime);") kept for a reason? Should we conditionalize them with
> "static final boolean"-s?
>
>
Phaser/Basic has been troublesome, and it still has unresolved rare
failures...
Those traces were obviously added for debugging, but I'm still reluctant to
remove them...
> TimeoutLockLoops/:
> * Should we use Runtime.availableProcessors() instead of 8?
>
>
No! Use of Runtime.availableProcessors has been a source of test flakiness
and excessive test runtime. Currently Moore's law is doubling
availableProcessors every few years. Someone can try to create a stress
test mode for jtreg tests, but they should not be the default. And that's
a big project.
Part of the problem is that newer machines are shipping with a large number
of availableProcessors, but those processors are a shared resource that
tests should not take ownership of. availableProcessors was more useful
during the transition from 1 to 4 than it will be from 4 to 1024.
"available to whom"??
More information about the core-libs-dev
mailing list