[8u] RFR 8158871: Long response times with G1 and StringDeduplication

Vladimir Kempik vladimir.kempik at oracle.com
Thu Jun 30 11:57:27 UTC 2016


Hello

Thanks for the comment Per.

Here is updated webrev - 
http://cr.openjdk.java.net/~vkempik/8158871/webrev.01/

Can I have some jdk8 reviewer to take quick look at this as well?

Thanks.

On 30.06.2016 10:14, Per Liden wrote:
> Hi,
>
> On 2016-06-29 17:39, Vladimir Kempik wrote:
>> Hello
>>
>> Please review this backport of 8158871 to jdk8u.
>>
>> Few changes for jdk8 were applied:
>>
>> 1) universall logging call changed to gclog_or_tty->print_cr
>>
>> 2) added casting of multiplication result (size_t * double) to size_t
>> because on macosx platform the result was casted to double:
>>
>>   _entry_cache = new G1StringDedupEntryCache((size_t)(_min_size *
>> _max_cache_factor));
>> ...
>>   _entry_cache->set_max_size((size_t)(size * _max_cache_factor));
>>
>>
>>
>>
>> Testing: jprt
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8158871
>> Webrev: http://cr.openjdk.java.net/~vkempik/8158871/webrev.00/
>
>
> src/share/vm/gc_implementation/g1/g1StringDedupTable.cpp
> --------------------------------------------------------
> Since we don't have unified logging in 8 you need to check the 
> PrintStringDeduplicationStatistics flags before printing "Deleted...". 
> Also, since we don't have decorating tags we need more context in the 
> printout. I suggest "[GC concurrent-string-deduplication, deleted X 
> entries, X.XXX secs]".
>
> So, the incremental change would be:
>
> -  gclog_or_tty->print_cr("Deleted " UINTX_FORMAT " entries, " 
> G1_STRDEDUP_TIME_FORMAT, count, end - start);
> +  if (PrintStringDeduplicationStatistics) {
> +    gclog_or_tty->print_cr("[GC concurrent-string-deduplication, 
> deleted " UINTX_FORMAT " entries, " G1_STRDEDUP_TIME_FORMAT "]", 
> count, end - start);
> +  }
>
>
> Other than that, the patch looks good.
>
> cheers,
> /Per
>
>>
>> Thanks
>> -Vladimir
>>




More information about the hotspot-gc-dev mailing list