[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-hotspot-gc-dev
Subject:    Re: RFR (XS): 8155917: G1 full gc memory pretouch in free regions causes regressions in SPECjvm2008 
From:       Jon Masamitsu <jon.masamitsu () oracle ! com>
Date:       2016-08-29 15:35:40
Message-ID: 33c55e00-3f96-2c4d-5c8d-2120faaf7744 () oracle ! com
[Download RAW message or body]



On 08/29/2016 12:39 AM, Thomas Schatzl wrote:
> Hi all,
>
> On Wed, 2016-08-24 at 09:06 -0700, Jon Masamitsu wrote:
>> On 08/24/2016 12:39 AM, Mikael Gerdin wrote:
>>> Hi Jon,
>>>
>>> On 2016-08-23 20:54, Jon Masamitsu wrote:
>>>> Thomas,
>>>>
>>>> In the original code did you ever see this assertion failing? Or
>>>> would you expect it to sometimes fail?
>>>>
>>>> 308 assert(space->bottom() < end_of_live, "bottom: " PTR_FORMAT "
>>>> should be < end_of_live: " PTR_FORMAT, p2i(space->bottom()),
>>>> p2i(end_of_live));
>>>>
>>>>
>>>> Does the "pretouch" in the description refer to the Prefetch?
>>>>
>>>>   324       // prefetch beyond q
>>>>   325       Prefetch::read(cur_obj, scan_interval);
>>> I think the word pretouch is a bit of a misnomer here since the
>>> core part of the change lies here:
>>> -  !oop(space->bottom())->is_gc_marked()) {
>>> +  (bottom == end_of_live || !oop(bottom)->is_gc_marked())) {
> I renamed the title of the CR to: "Memory access in free regions during
> G1 full gc causes regressions in SPECjvm2008 scimark.fft,lu,sor,sparse
> with 9+116 on Linux-x64"
>
> Maybe this makes the issue a bit more clear.
>
> Thanks Mikael to clarify this.
>
>>> We short-cut the dereferencing of space->bottom() if bottom is
>>> end_of_live (because the region is then emtpy)
>>> If the entire region was never paged in or has been paged out at
>>> some point then touching the empty object at space->bottom() to
>>> read its mark word would force the OS to allocate a backing page
>>> for it.
>> Mikael,
>>
>>    I missed the point of this  change.  Thanks for helping
>> me make sense of it.
>    does that mean this change can be considered reviewed by you?

Yes.  Looks good.  Sorry for not being more explicit.

Jon

>
> Thanks,
>    Thomas

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic