RFR(XS): 8166045: jdk/internal/misc/Unsafe tests fail due to timeout

Christian Tornqvist christian.tornqvist at oracle.com
Mon Sep 26 23:11:37 UTC 2016


Hi Mikael,

This looks good, thanks for fixing this.

Thanks,
Christian

> On Sep 26, 2016, at 5:53 PM, Mikael Vidstedt <mikael.vidstedt at oracle.com> wrote:
> 
> 
> Please review the following change:
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8166045 
> <https://bugs.openjdk.java.net/browse/JDK-8166045>
> Webrev: 
> http://cr.openjdk.java.net/~mikael/webrevs/8166045/webrev.01/jdk/webrev/ 
> <http://cr.openjdk.java.net/~mikael/webrevs/8166045/webrev.01/jdk/webrev/>
> 
> Summary:
> 
> Among the tests I introduced for Unsafe.copyMemory and Unsafe.copySwapMemory 
> a few months ago are a couple of tests which rely on being able to allocate 
> and operate on a large (~2GB) block of native memory. However, on some 
> smallish machines the actual allocation succeeds, but the machine then goes 
> on to swap (as in, page to/from disk) like crazy, making the test time out.
> 
> In an attempt to work around this I’m using @requires in combination with 
> the value of os.maxMemory. I could make the whole test(s) conditional on the 
> memory size, but the vast majority of the test(s) actually operate on a very 
> small block of memory (tens of bytes), so disabling the whole test seems 
> unfortunate. Instead I decided to split up the test(s) in two - one set 
> which tests the default/small size, and one set which tests the large size 
> iff there is enough memory on the machine.
> 
> I have tested manually that the @requires check has the right effect - the 
> tests are skipped if there’s not enough memory on the machine - and that the 
> tests still pass as expected.
> 
> I also took the liberty of removing a superfluous import.
> 
> Cheers,
> Mikael
> 


More information about the hotspot-dev mailing list