RFR: 2178143: VM crashes if the number of bound CPUs changed during runtime

Yumin Qi yumin.qi at oracle.com
Mon Mar 25 17:35:40 PDT 2013


   The flag AssumeMP default is false, this is the confusion part, seems 
like it is running on a single CPU, in fact not,  it will not change 
anything --- just like no flag before.  If it is set, we think it is 
running on MP no matter underlying if it is.
   If number of cores <2 and turns on this flag, at same time, 
ParallelGCThreads not set, it will be assigned the number of cores, the 
result will be only one GC thread created. After more cores available, 
the number of GC threads will be still 1 since it is not dynamically 
changed. This is what we don't want to see.

   If the flag not turned on,  everything is same as it was.


On 3/25/2013 4:07 PM, Bernd Eckenfels wrote:
> Hello,
> if I read this correctly, it will allow me to overwrite the asumption 
> that the VM is started on multicore. But it will not avoid the crash 
> if the flag is not set.
> Wouldnt it be safer to do something like this:
> if initial number of cores < 2 then start in "no parallel" mode which 
> will block using parallel features unless you set "+AsumeMP"?
> Because otherwise you will still see random crashes and can only use 
> the flag after the fact to avoid them. (if I understood the code 
> correct).
> Gruss
> Bernd

More information about the hotspot-gc-dev mailing list