RFR (L): JDK-6843347 Boundary values in some public GC options cause crashes
jon.masamitsu at oracle.com
Fri May 3 16:25:18 UTC 2013
On 5/3/2013 9:22 AM, Thomas Schatzl wrote:
> 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
> 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).
Stay with 100.
>> 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
More information about the hotspot-gc-dev