PING: RFR: JDK-8072913: [REDO] GCCause should distinguish jcmd GC.run from System.gc()

Yasumasa Suenaga yasuenag at gmail.com
Mon Apr 20 13:53:19 UTC 2015


Hi all,

I've uploaded webrev for this enhancement.
Could you review it?

http://cr.openjdk.java.net/~ysuenaga/JDK-8072913/webrev.01/


Thanks,

Yasumasa


On 2015/03/11 22:13, Yasumasa Suenaga wrote:
> Hi all,
>
>> So I think we can remove _jvmti_force_gc from is_user_requested_gc() and add _dcmd_gc_run
>> to it.
>
> I've uploaded new webrev, and I've applied it to new patch.
> Could you review it?
>
> http://cr.openjdk.java.net/~ysuenaga/JDK-8072913/webrev.01/
>
> I also updated jtreg testcase.
> It works fine in my environment.
>
>
> Thanks,
>
> Yasumasa
>
>
> On 2015/02/14 22:10, Yasumasa Suenaga wrote:
>> Hi Mikael,
>>
>>> I'd prefer if you could add a GCCause::is_system_gc_equivalent() which returns true for some set of GCCause enum values, such as _java_lang_system_gc and _dcmd_gc_run
>>
>> Can I add _dcmd_gc_run to GCCause::is_user_requested_gc() ?
>> This function is used with GCCause::is_serviceability_requested_gc() .
>> CMSCollector::is_external_interruption() and AdaptiveSizePolicy::check_gc_overhead_limit()
>>
>> is_user_requested_gc() and is_serviceability_requested_gc() checkes _jvmti_force_gc
>> is selected.
>> So I think we can remove _jvmti_force_gc from is_user_requested_gc() and add _dcmd_gc_run
>> to it.
>>
>>> A "grep" for _java_lang_system_gc should yield more places where updates may be necessary.
>>
>> We can use GCCause::is_user_requested_gc() if the proposal in above is accepted.
>>
>>
>> Thanks
>>
>> Yasumasa
>>
>>
>>
>> On 2015/02/13 21:33, Mikael Gerdin wrote:
>>> Hi Yasumasa,
>>>
>>> On 2015-02-11 15:02, Yasumasa Suenaga wrote:
>>>> Hi all,
>>>>
>>>> I've committed JDK-8068589 to add new GCCause - Diagnostic Command.
>>>> However, it has been backouted because test is failed [1] and it is not considered
>>>> about concurrent GC: -XX:+ExplicitGCInvokesConcurrent [2].
>>>>
>>>> I've created patch for this enhancement.
>>>> Could you review it?
>>>>
>>>> http://cr.openjdk.java.net/~ysuenaga/JDK-8072913/webrev.00/
>>>
>>> I'd prefer if you could add a GCCause::is_system_gc_equivalent() which returns true for some set of GCCause enum values, such as _java_lang_system_gc and _dcmd_gc_run
>>>
>>> Given that the documentation of the GC.run command is:
>>> "GC.run
>>> Call java.lang.System.gc().
>>>
>>> Impact: Medium: Depends on Java heap size and content.
>>>
>>> Syntax: GC.run"
>>>
>>> I interpret the documentation that the GC is supposed to be (for all intents and purposes) equivalent to the application invoking System.gc().
>>>
>>> This would also require updates to other places where we refer to the _java_lang_system_gc GCCause, such as UseAdaptiveSizePolicyWithSystemGC
>>>
>>> A "grep" for _java_lang_system_gc should yield more places where updates may be necessary.
>>>
>>> /Mikael
>>>
>>>>
>>>>
>>>> I'm jdk9 committer, but I'm not employee at Oracle.
>>>> So I need a Sponsor.
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> Yasumasa
>>>>
>>>>
>>>> [1] http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2015-February/011957.html
>>>> [2] http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2015-February/011962.html
>>>>


More information about the serviceability-dev mailing list