RFR (S): 8079208: gc/g1/TestLargePageUseForAuxMemory.java fails due to not considering page allocation granularity for setup
thomas.schatzl at oracle.com
Wed May 13 15:03:18 UTC 2015
can I have reviews for the following test fix: the problem is that
during test setup, when trying to find the heap size where large pages
are just not used, the code subtracts a fixed value from the one known
to use large pages for the card table.
The problem is that this fixed value is too small to have an impact on
the actual size of the card table, i.e. the code rounds up by the OS'es
allocation granularity. That causes it to use the same size as before,
where it will then use large pages anyway and fail the test.
That fixed value has been just large enough to cover regular page size.
Also, the only OS that has different allocation granularities and
(small) page sizes is Windows. Further on Windows, large pages (and the
test is only executed then) are only available when the user runs as
Administrator (or has the corresponding capability to lock pages in
In this case the test fails.
The change fixes this by making sure that this value to subtract from
the original heap size is exactly the size that avoids this rounding.
http://cr.openjdk.java.net/~tschatzl/8079208/webrev/ (for hotspot
http://cr.openjdk.java.net/~tschatzl/8079208/webrev.hs-gc/ (for changes
in the hs-gc directory, i.e. whitebox.java)
Manual testing, jprt
More information about the hotspot-gc-dev