<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
Bengt,<br>
<br>
I think that the code using VerifyUpdateClosure is dead. I'll file
a CR to<br>
remove it.<br>
<br>
Jon<br>
<br>
On 11/17/11 06:13, Bengt Rutisson wrote:
<blockquote cite="mid:4EC51696.7070201@oracle.com" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<br>
Hi Ramki,<br>
<br>
Is this what you were considering?<br>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://cr.openjdk.java.net/%7Ebrutisso/7110718/webrev.03/">http://cr.openjdk.java.net/~brutisso/7110718/webrev.03/</a><br>
<br>
I think it should interpret MarkSweepAlwaysCompactCount <= 0 as
"never force full compaction". It would be great if you could do
some testing. There is one assert in
PSParallelCompact::VerifyUpdateClosure::do_addr() that worries me
a bit:<br>
<br>
assert(HeapMaximumCompactionInterval > 1 ||
MarkSweepAlwaysCompactCount > 1 ||<br>
forwarding_ptr == new_pointer, "new location is
incorrect");<br>
<br>
I think this should be safe since MarkSweepAlwaysCompactCount == 1
was an acceptable value even before my change. But I have to admit
that I don't really understand what the assert is trying to
verify.<br>
<br>
Bengt<br>
<br>
<br>
On 2011-11-16 19:01, Srinivas Ramakrishna wrote:
<blockquote
cite="mid:CABzyjykvoMCVLTqYjJhUQiXGfkypY=LA_jdgaSRiSN9grg9+ew@mail.gmail.com"
type="cite">Hi Bengt, Not sure how much customers use this
option. Its useful for "serviceability in production" kind of
scenarios<br>
to have the code be more robust. I think it would be useful. I
appreciate the need for more testing<br>
of course, and I am happy to do that testing for you -- just let
me know and I'll grab yr patch and test<br>
here.<br>
<br>
thanks!<br>
-- ramki<br>
<br>
<div class="gmail_quote">On Tue, Nov 15, 2011 at 6:50 AM, Bengt
Rutisson <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:bengt.rutisson@oracle.com">bengt.rutisson@oracle.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
0.8ex; border-left: 1px solid rgb(204, 204, 204);
padding-left: 1ex;">
<div bgcolor="#FFFFFF" text="#000000"> <br>
Ramki,
<div class="im"><br>
<br>
On 2011-11-14 20:32, Srinivas Ramakrishna wrote:
<blockquote type="cite"><br>
Thanks, Bengt, for the super-quick turnaround!! A
comment below on the choice of <= 0 for the option
value....<br>
</blockquote>
<br>
</div>
Thanks for the review! See comments below.
<div class="im"><br>
<br>
<blockquote type="cite">
<div class="gmail_quote">On Mon, Nov 14, 2011 at 1:25
AM, Bengt Rutisson <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:bengt.rutisson@oracle.com"
target="_blank">bengt.rutisson@oracle.com</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt
0pt 0pt 0.8ex; border-left: 1px solid rgb(204,
204, 204); padding-left: 1ex;"><br>
Hi all,<br>
<br>
Can I have a couple of reviews for this small
change?<br>
<a moz-do-not-send="true"
href="http://cr.openjdk.java.net/%7Ebrutisso/7110718/webrev.01/"
target="_blank">http://cr.openjdk.java.net/~brutisso/7110718/webrev.01/</a><br>
<br>
It is a fix for the issue that Ramki reported
recently. MarkSweepAlwaysCompactCount is used for
division and Hotspot crashes if it is set to 0.<br>
<br>
I choose to log an error and exit the VM if
someone tries to start with
-XX:MarkSweepAlwaysCompactCount=0. An alternative
is to just log a warning and set it to 1.<br>
<br>
I prefer the error way since it is not really
clear what one wants to achieve with
MarkSweepAlwaysCompactCount=0. Always do full
compactions or never do full compactions? So I am
not convinced that 1 is an appropriate value.<br>
<br>
Also, since the VM, up until now, has crashed if
someone tried -XX:MarkSweepAlwaysCompactCount=0 I
think we can be sure that there are no customers
that are running with that setting. It should be
safe to forbid it.<br>
</blockquote>
<div><br>
I agree with that statement. However, given that
the value 0 was producing crashes, proving that no
production code would have been using that
setting,<br>
and based on yr comment above that the 0 value
could as well have been used to denote "never
force full compaction", it seems as though an
alternative to exiting with<br>
an error, is now to define all values <=0 to
mean "never _force_ full compaction" <br>
<br>
Especially since tolerating allowed input values
and mapping them to specific non-exiting
behaviours allows us to modify production JVM's on
the fly<br>
without causing loss of availability. (Consider a
future in which this option becomes a
"manageable"; you would then be faced with the
same<br>
question, and it seems as though making this
choice now would help maintain consistency and
robustness going forward -- we could of course<br>
always throw a "illegal value exception" or such
at that point, but allowing the specification of
"never _force_ full compaction" (unless the JVM<br>
otherwise chooses to) would appear to be a choice
to allow users; mapping negative and 0 values to
that setting would avoid having to<br>
throw an error.) However, I understand that this
is somewhat subjective, so I am willing to go with
whatever the majority consensus here<br>
mght be. It just seemed more pleasant to:<br>
(1) allow the specification of reasonable
behaviour (i.e. never _force_ ...)<br>
(2) map the full domain of the option to a
reasonable behaviour (i.e. allow <= 0 to map to
never _force_ ..)<br>
<br>
Comments?<br>
</div>
</div>
</blockquote>
<br>
</div>
I see your point, and I think this should be fairly
straight forward to fix. However it will require some more
testing etc. I can do that, but I don't think I know
enough to say whether or not the extra work is worth it.
How important is this option? Is it something that
customers use a lot?<br>
<br>
Thanks,<br>
<font color="#888888"> Bengt</font>
<div class="im"><br>
<br>
<blockquote type="cite">
<div class="gmail_quote">
<div><br>
-- ramki<br>
<br>
<br>
</div>
<blockquote class="gmail_quote" style="margin: 0pt
0pt 0pt 0.8ex; border-left: 1px solid rgb(204,
204, 204); padding-left: 1ex;"> <br>
CR:<br>
<br>
7110718 -XX:MarkSweepAlwaysCompactCount=0 crashes
the JVM<br>
<a moz-do-not-send="true"
href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7110718"
target="_blank">http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7110718</a><br>
<br>
Thanks,<br>
<font color="#888888"> Bengt<br>
</font></blockquote>
</div>
<br>
</blockquote>
<br>
</div>
</div>
</blockquote>
</div>
<br>
</blockquote>
<br>
</blockquote>
</body>
</html>