(XS) RFR: 8148766: Test AvailableProcessors.java got wrong number of processors
David Holmes
david.holmes at oracle.com
Tue Feb 2 02:15:18 UTC 2016
Bug: https://bugs.openjdk.java.net/browse/JDK-8148766
webrev: http://cr.openjdk.java.net/~dholmes/8148766/webrev/
It seems some (arguably ill-behaved) systems can use aggressive power
management to disable cores on the fly and at high frequency. As a
result even using taskset the number of processors reported as available
to the JVM can be less than what we asked for. This small tweak to the
test simply changes the success criteria to only see more than the
expected number of processors as an error.
Thanks,
David
--- old/test/runtime/os/AvailableProcessors.java 2016-02-01
21:14:07.721558368 -0500
+++ new/test/runtime/os/AvailableProcessors.java 2016-02-01
21:14:05.681443769 -0500
@@ -27,7 +27,7 @@
/*
* @test
- * @bug 6515172
+ * @bug 6515172 8148766
* @summary Check that availableProcessors reports the correct value
when running in a cpuset on linux
* @requires os.family == "linux"
* @library /testlibrary
@@ -93,7 +93,9 @@
static void checkProcessors(int expected) {
int available = Runtime.getRuntime().availableProcessors();
- if (available != expected)
+ // available can dynamically drop below expected due to
aggressive power management
+ // but we should never have more than expected, else taskset is
broken
+ if (available > expected)
throw new Error("Expected " + expected + " processors, but
found "
+ available);
else
More information about the hotspot-runtime-dev
mailing list