Review request: 8024751: Fix bugs in TraceMetadata
Stefan Karlsson
stefan.karlsson at oracle.com
Fri Sep 13 08:09:38 UTC 2013
On 09/13/2013 09:48 AM, Bernd Eckenfels wrote:
> Question: why is the trace block testing for is_humongus itself?
>
> I would expect the allocation code to branch somewhere for this
> condition anyway - would it make more sense to put the trace there?
> Especially if you want to maintain (and output) additional
> details/statistics.
You are probably right, and I'm not going to defend the current
placement of this trace code. But for this specific change I just want
to fix the crash and the other misplaced print out.
>
> Is PTR_FORMAT right for word_size()
No, it should be SIZE_FORMAT. I'll change it.
> and would it be better to output bytes?
In my opinion, yes. However, currently, most of print-outs guarded by
TraceMetadata output numbers in words instead of bytes. Changing that
will require another changeset.
> Is this also available as a event?
Not at the moment. But we plan to send this information out as an event.
Maybe we can clean up some of the issues you have pointed when that is done.
thanks,
StefanK
>
> Bernd
>
> Am 13.09.2013 um 08:57 schrieb Stefan Karlsson
> <stefan.karlsson at oracle.com <mailto:stefan.karlsson at oracle.com>>:
>
>> On 09/13/2013 08:22 AM, Bengt Rutisson wrote:
>>>
>>> Hi Stefan,
>>>
>>> On 9/12/13 10:00 PM, Stefan Karlsson wrote:
>>>> http://cr.openjdk.java.net/~stefank/8024751/webrev.00/
>>>>
>>>> Small fixes two fix some issues when TraceMetadata* flags are
>>>> turned on.
>>>>
>>>> - TraceMetadataHumongousAllocation crashes.
>>>> - TraceMetadataChunkAllocation prints the same block_freelist()
>>>> multiple times.
>>>
>>> Looks good. I'm fine with pushing this as is, but I think I would
>>> have preferred that this code:
>>>
>>>
>>> 2369 if (next != NULL) {
>>> 2370 if (TraceMetadataHumongousAllocation &&
>>> 2371 SpaceManager::is_humongous(next->word_size())) {
>>> 2372 gclog_or_tty->print_cr(" new humongous chunk word size "
>>> PTR_FORMAT,
>>> 2373 next->word_size());
>>> 2374 }
>>> 2375 }
>>>
>>> was more like:
>>>
>>> 2370 if (TraceMetadataHumongousAllocation &&
>>> 2371 next != NULL &&
>>> SpaceManager::is_humongous(next->word_size())) {
>>> 2372 gclog_or_tty->print_cr(" new humongous chunk word size "
>>> PTR_FORMAT,
>>> 2373 next->word_size());
>>> 2374 }
>>>
>>> To me it makes it clearer that this is only a tracing section.
>>
>> Fair enough. I'll change it.
>>
>> thanks,
>> StefanK
>>>
>>> Thanks,
>>> Bengt
>>>>
>>>> thanks,
>>>> StefanK
>>>>
>>>>
>>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20130913/c3069bea/attachment.htm>
More information about the hotspot-gc-dev
mailing list