RFR (S) 6909265: assert(_OnDeck != Self->_MutexEvent, "invariant") with -XX:+PrintMallocFree
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Fri Feb 2 13:38:31 UTC 2018
On 2/1/18 3:42 PM, dean.long at oracle.com wrote:
> On 2/1/18 10:33 AM, coleen.phillimore at oracle.com wrote:
>
>>
>>
>> On 2/1/18 9:00 AM, Zhengyu Gu wrote:
>>>
>>>
>>> On 02/01/2018 08:37 AM, coleen.phillimore at oracle.com wrote:
>>>>
>>>>
>>>> On 1/31/18 10:36 PM, David Holmes wrote:
>>>>> Hi Coleen,
>>>>>
>>>>> On 1/02/2018 1:01 PM, coleen.phillimore at oracle.com wrote:
>>>>>> Summary: Convert to logging without thread locking
>>>>>>
>>>>>> There are two options (-XX:+PrintMallocFree and -XX:+PrintMalloc)
>>>>>> to print the calls and memory returned in malloc and free calls
>>>>>> in the vm. I converted the first one to Unified Logging which
>>>>>> doesn't crash getting the tty lock in the Thread destructor and
>>>>>> removed the latter. I don't see the usefulness of this logging
>>>>>> honestly, so if the opinion is to remove this logging, I'd be
>>>>>> happy to do so. NMT seems much more useful.
>>>>>
>>>>> I'm not sure about this one. Arguably some interesting
>>>>> malloc/frees occur before log configuration.
>>>>
>>>> They also occurred before tty initialization and afterward too.
>>>>>
>>>>> That aside, given you always seem to do:
>>>>>
>>>>> log_is_enabled(Trace, malloc, free)
>>>>>
>>>>> which requires
>>>>>
>>>>> -Xlog:malloc+free=trace
>>>>>
>>>>> would it make more sense to define a single tag eg mallocfree or
>>>>> nativemem or ???
>>>>>
>>>>
>>>> It's an opinion question. I picked this to match the option and
>>>> assume one would want to see both mallocs and frees. I like the
>>>> composition of small tags that have meaning. Then again, I could
>>>> change it if you have an opinion about this.
>>>>> Or, as you say, just drop this altogether. Is it useful for when
>>>>> debugging NMT?
>>>>>
>>>>
>>>> I doubt it's useful for debugging NMT. It might have been useful
>>>> once but I don't know why. What's your opinion?
>>>
>>> No, I never used this to debug NMT. It just generates too much data
>>> to be useful, I vote to remove it all together.
>>
>> Thank you, Zhengyu. I agree with you. We'll wait to see what David
>> (or anyone else that wants to save this logging) thinks.
>>
>
> If we wanted to log things during initialization before logging is set
> up, could we copy it to a static buffer (assuming we are
> single-threaded), and then log it when logging is done being set up?
I think logging can be set up early but I don't remember the details.
I think it's set up before tty.
Thanks,
Coleen
>
> dl
>
>
>> Coleen
>>>
>>> Thanks,
>>>
>>> -Zhengyu
>>>
>>>
>>>>
>>>> thanks,
>>>> Coleen
>>>>
>>>>> Thanks,
>>>>> David
>>>>>
>>>>>> Tested with NMT and tier1 tests, and wrote test.
>>>>>>
>>>>>> open webrev at http://cr.openjdk.java.net/~coleenp/6909265.01/webrev
>>>>>> bug link https://bugs.openjdk.java.net/browse/JDK-6909265
>>>>>>
>>>>>> Thanks,
>>>>>> Coleen
>>>>
>>
>
More information about the hotspot-runtime-dev
mailing list