RFR (L): JDK-6843347 Boundary values in some public GC options cause crashes
Thomas Schatzl
thomas.schatzl at oracle.com
Fri May 3 16:22:46 UTC 2013
Hi Jon,
thanks for your comments.
On Fri, 2013-05-03 at 08:57 -0700, Jon Masamitsu wrote:
> Why a minimum value of CMSPrecleanThreshold as 100? A value as low as 1
> works, right?
In concurrentMarkSweepGeneration.cpp, line 4591 there is an assert
checking:
assert(CMSPrecleanThreshold >= 100,
"Unreasonably low CMSPrecleanThreshold");
I.e. these min/max values are sometimes derived from walking through the
code and trying to satisfy assertions, otherwise using a value that
while maybe crazy at least does not crash or completely disable
operation (i.e. running into infinite loops).
> Should we make the minimum for HeapSizePerGCThread 1 page and document it
> that way? A value of 1 is legal but it's a crazy value and if anyone
> uses 1, they've made a mistake.
>
> + status = status && verify_min_value(HeapSizePerGCThread, 1, "HeapSizePerGCThread");
>
> Rest looks good.
Fine with me. I will change the code accordingly. I will prepare a new
webrev; please tell me if you want me to fix the CMSPrecleanThreshold
too.
Thanks,
Thomas
More information about the hotspot-gc-dev
mailing list