<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
<br>
Hi Ramki,<br>
<br>
Is this what you were considering?<br>
<a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~brutisso/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>
</body>
</html>