RFR (M): 8067336: Allow that PLAB allocations at the end of regions are flexible

Thomas Schatzl thomas.schatzl at oracle.com
Wed Aug 19 06:19:51 UTC 2015


Hi all,

  let me retract this RFR for a short while. As Tom noticed, a few
changes are missing which results in the changes having no actual
effect.

>From what I can see this is because of many additional splits and
refactorings of all the recent dependent changes.

I expect to need one or two days fixing this and running it through
testing again.

Sorry and thanks,
  Thomas

On Tue, 2015-08-18 at 13:18 +0200, Thomas Schatzl wrote:
> Hi all,
> 
>   can I have reviews for this change that greatly reduces the amount of
> PLAB waste caused by blocks of memory that cannot be used at the end of
> regions?
> 
> The idea is simple: instead of allocating a PLAB that does not fit the
> current region in a new region, look if it is possible to reuse the
> remainder of the current region for the current PLAB.
> 
> E.g. if the current allocation region during GC has 19k words left, but
> PLAB size is 20k, and the next allocation is just a few words, return a
> 19k PLAB to the caller instead of wasting the 19k.
> 
> There were no performance issues noticed here, the number of GCs tends
> to decrease significantly though.
> 
> The main implementation idea is that in many allocation calls the single
> "word_size" parameter is replaced by minimum, desired and actual word
> size parameters which represent the minimum and desired (input)
> allocation sizes, and the actual word size an output parameter that
> indicates the actual number of words allocated.
> 
> CR:
> https://bugs.openjdk.java.net/browse/JDK-8067336
> Webrev:
> http://cr.openjdk.java.net/~tschatzl/8067336/webrev/
> Testing:
> jprt, vm.gc test list
> 
> Thanks,
>   Thomas
> 
> 





More information about the hotspot-gc-dev mailing list