<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Hi all,<br>
<br>
Here's a new patch, which addresses StefanJ's issues:<br>
<br>
<a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~stefank/8152491/webrev.02.delta">http://cr.openjdk.java.net/~stefank/8152491/webrev.02.delta</a><br>
<a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~stefank/8152491/webrev.02">http://cr.openjdk.java.net/~stefank/8152491/webrev.02</a><br>
<br>
Thanks,<br>
StefanK<br>
<br>
<div class="moz-cite-prefix">On 2016-04-08 10:57, Stefan Johansson
wrote:<br>
</div>
<blockquote cite="mid:5707727E.6050202@oracle.com" type="cite">
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
Hi StefanK,<br>
<br>
<div class="moz-cite-prefix">On 2016-04-06 20:16, Stefan Karlsson
wrote:<br>
</div>
<blockquote cite="mid:57055295.8030902@oracle.com" type="cite">
<meta http-equiv="content-type" content="text/html;
charset=utf-8">
Hi all,<br>
<br>
Please review to convert TracePageSizes to use UL.<br>
<br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Estefank/8152491/webrev.01">http://cr.openjdk.java.net/~stefank/8152491/webrev.01</a><br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="https://bugs.openjdk.java.net/browse/JDK-8152491">https://bugs.openjdk.java.net/browse/JDK-8152491</a><br>
<br>
TracePageSizes used to be a develop flag, but I've decided to
create a UL tag accessible from release builds. We've recently
needed to debug some large pages code and wanted this
information in release builds.<br>
<br>
</blockquote>
<tt>Looks good in general and I like that we make it available in
product mode. Just a few comments.</tt><br>
<pre><span class="changed">os.cpp:
1534 void os::trace_page_sizes_for_requested_size(const char* str,</span>
<span class="changed">1535 const size_t requested_size,
</span><span class="changed">...</span>
<span class="changed">1541 log_info(pagesizes)("%s:"</span>
<span class="changed">1542 " req_size=" SIZE_FORMAT "%s"</span>
<span class="changed">1543 " base=" PTR_FORMAT</span>
<span class="changed">...</span>
<span class="changed">1547 str,</span>
<span class="changed">1548 trace_page_size_params(size),</span>
<span class="changed">1549 p2i(base),</span>
<tt>
On line 1548 we should use requested_size instead of size.</tt><tt>
---</tt>
</pre>
<tt>genCollectedHeap.cpp:<br>
170 <br>
171 os::trace_page_sizes("Heap",
collector_policy()->min_heap_byte_size(),<br>
172 total_reserved,<br>
173 alignment,<br>
174 heap_rs->base(),<br>
175 heap_rs->size());<br>
</tt><br>
<tt>Move min_heap_byte_size() to its own line.<br>
---<br>
<br>
I also think that it would be better to use 'pagesize' instead
of 'pagesizes' as the tag, even though the old flag said
pagesizes. But there are a lot of other flags that also have an
ending s, exceptions for example, so I'm not sure how we should
handle it. It would be good to make the tags feel "unified".<br>
<br>
Thanks,<br>
Stefan<br>
<br>
</tt>
<blockquote cite="mid:57055295.8030902@oracle.com" type="cite">
Changes in the patch:<br>
<br>
1) Replaced TracePageSizes with the 'pagesizes' UL tag<br>
2) Cleaned up the memory region description strings<br>
3) Used B/K/M/G suffixes when the size is exactly divisible by
those<br>
4) Removed
<meta http-equiv="content-type" content="text/html;
charset=utf-8">
trace_gen_sizes, since the output was too obscure to be that
helpful<br>
5) Added tracing for Serial and CMS<br>
6) Fixed a jtreg test that verified the output from
TracePageSizes<br>
<br>
Example output from 'java -Xlog:pagesizes -Xmx512m
-XX:+UseLargePages -version':<br>
<br>
[0.018s][info][pagesizes] CodeHeap 'non-nmethods': min=2496K
max=8M base=0x00007fd735000000 page_size=4K size=8M<br>
[0.018s][info][pagesizes] CodeHeap 'profiled nmethods':
min=2496K max=116M base=0x00007fd735800000 page_size=4K
size=116M<br>
[0.018s][info][pagesizes] CodeHeap 'non-profiled nmethods':
min=2496K max=116M base=0x00007fd73cc00000 page_size=4K
size=116M<br>
[0.056s][info][pagesizes] Heap: min=8M max=512M
base=0x00000000e0000000 page_size=2M size=512M<br>
[0.056s][info][pagesizes] Block Offset Table: req_size=1M
base=0x00007fd6d5fe1000 page_size=4K alignment=4K size=1M<br>
[0.056s][info][pagesizes] Card Table: req_size=1M
base=0x00007fd6d5de1000 page_size=4K alignment=4K size=1M<br>
[0.056s][info][pagesizes] Card Counts Table: req_size=1M
base=0x00007fd6d5ce1000 page_size=4K alignment=4K size=1M<br>
[0.056s][info][pagesizes] Prev Bitmap: req_size=8M
base=0x00007fd6d5400000 page_size=2M alignment=2M size=8M<br>
[0.056s][info][pagesizes] Next Bitmap: req_size=8M
base=0x00007fd6d4c00000 page_size=2M alignment=2M size=8M<br>
<br>
The patch uses the LogStreamCHeap from the following patch that
is out for review:<br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://mail.openjdk.java.net/pipermail/hotspot-dev/2016-April/022477.html">http://mail.openjdk.java.net/pipermail/hotspot-dev/2016-April/022477.html</a><br>
<br>
Tested with JPRT and new internal VM test for the suffixes.<br>
<br>
Thanks,<br>
StefanK<br>
</blockquote>
<br>
</blockquote>
<br>
</body>
</html>