RFR (L): 8058354: SPECjvm2008-Derby -2.7% performance regression on Solaris-X64 starting with 9-b29
Jon Masamitsu
jon.masamitsu at oracle.com
Fri Jan 30 23:18:26 UTC 2015
On 1/29/2015 2:30 AM, Thomas Schatzl wrote:
> ...
> AAAAAA AAAAAA AAAAAA // heap area, each AAAAAA is a single region
> | | | // area covered by auxilary pages
> 1 2 // auxiliary data pages
Are bitmaps an example of the auxiliary data?
AAAAAA are 6 regions?
And the preferred layout would be
AAAAAA AAAAAA AAAAAA // heap area, each AAAAAA is a single region
| | | | // area covered by auxilary pages
1 2 // auxiliary data pages
so that (regions replace by 0 have been uncommitted)
AA00AA 000000 A000AA // heap area, each AAAAAA is a single region
| | | | // area covered by auxilary pages
1 2 // auxiliary data pages
then the page for 2 can be uncommitted.
>
> So if auxiliary data pages were unaligned, so that they correspond to
> uneven multiples of the heap, when uncommitting e.g. the second region
> (second set of AAAAAA), we would have to split the auxiliary data pages
> 1 and 2 into smaller ones.
You mean we would have to use small pages for the auxiliary data?
So we could uncommit the auxiliary data pages corresponding to the
heap uncommit more easily?
>
> That does not seem to be a good tradeoff in complexity, given that the
> waste is at most one large page in reserved space (and unfortunately,
> due to the Linux large page implementation also in actually used space).
The waste is 1 large page for each auxiliary data structure?
Jon
More information about the hotspot-gc-dev
mailing list