RFR(S) 8212127: Cleanup TLAB fast refill statistics, perf counters and etc.

David Holmes david.holmes at oracle.com
Sun Feb 3 05:13:23 UTC 2019


Hi Zhengyu,

On 2/02/2019 11:38 pm, zgu at redhat.com wrote:
> On Sat, 2019-02-02 at 11:01 +1000, David Holmes wrote:
>> On 2/02/2019 4:27 am, zgu at redhat.com wrote:
>>> After FastTLABRefill was removed, let's cleanup related perf
>>> counters.
>>> I removed perf counters for fast refill, and renamed perf counters
>>> for
>>> slow refill.
>>>
>>> I am not all clear what implication of renaming/removing exported
>>> symbols, and have no idea what aliasmap is for. So I ran all tests
>>> I
>>> think could be affected, showed no problem.
>>
>> Will need to check how perfcounters may be accessed before removing
>> them. I don't know if external tools may access them as jvmstat does.
> Yep, but It is hard to find out. I can not image this is the first one,
> how we dealt with before?
> 
> Removing "_reserve_for_allocation_prefetch" breaks JDK8 tools, how it
> was communicated?

I don't know what you are referring to. _reserve_for_allocation_prefetch 
was moved in 9 from Abstract_VM_Version to ThreadLocalAllocBuffer.

http://hg.openjdk.java.net/jdk9/jdk9/hotspot/rev/6525e4ba82a1

It still exists there. And it is a plain int not a perf counter/variable.

That aside we have in threadLocalAllocBuffer.cpp:

  320   return PerfDataManager::create_variable(SUN_GC, 
PerfDataManager::counter_name("tlab", name), unit, THREAD);

So these are in the SUN_GC namespace and anything in the sun namespace 
is unstable and unsupported:

hotspot/share/runtime/perfData.cpp

const char* PerfDataManager::_name_spaces[] = {
   // top level name spaces
   "java",                   // stable and supported name space
   "com.sun",                // unstable but supported name space
   "sun",                    // unstable and unsupported name space

So this should be okay.

Thanks,
David
-----

> 
> Thanks,
> 
> -Zhengyu
> 
> 
>>
>> David
>> -----
>>
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8212127
>>> Webrev: http://cr.openjdk.java.net/~zgu/JDK-8212127/webrev.00/
>>>
>>> Test:
>>>     hotspot_runtime, hotspot_serviceability,
>>> vmTestbase_nsk_monitoring,
>>>     vmTestbase_nsk_jdi, vmTestbase_nsk_jvmti, vmTestbase_vm_jdwp
>>>     on Linux x64
>>>
>>>     Eyeball output of jsnap
>>>
>>> Thanks,
>>>
>>> -Zhengyu
>>>


More information about the serviceability-dev mailing list