<div dir="ltr">Hi Andrew,<div class="gmail_extra"><br></div><div class="gmail_extra">Comments inline below:<br><br><div class="gmail_quote">On Mon, Jan 20, 2014 at 6:32 AM, Andrew Dinn <span dir="ltr"><<a href="mailto:adinn@redhat.com" target="_blank">adinn@redhat.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

n.b. the goal does not just apply to stop-the-world pauses. Shenandoah<br>
should not to stop any individual mutator from making significant<br>
progress for longer than 10 msecs. The present target is proposed in<br>
terms of 'stop-the-world pauses' because the GC algorithm includes a<br>
single stop-the-world pause to scan roots from all thread stacks. This<br>
is the expected to be by far the worst case pause for any individual<br>
thread. Other pauses imposed on individual threads because of memory<br>
management operations ought to be much smaller.<br>
<br></blockquote><div>But Shenandoah will still have a fallback path when it finds out there won't be enough room for concurrent evacuation, right? Will it stop concurrent operations and fallback to a stop-the-world collection?</div>
<div>(Just FYI for others: for CMS users, a similar situation is called "concurrent mode failure"; for G1 users, it'll be "evacuation failed", or "(to-space exhausted)" in GC logs.)</div>
<div>And ditto for "allocation failure" case, where the allocation rate is just too high for the concurrent collector to keep up with, will there be a fallback path to stop-the-world collection?</div><div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
A later version of Shenandoah is intended to optimize root scanning to<br>
process thread stacks round-robin, i.e. stopping only one thread at a<br>
time. This ought to give much smaller worst-case pause times for any<br>
given thread.<br>
<br></blockquote><div>That's nice to know. It answers my earlier question of scanning stacks. Thanks!</div><div><br></div><div>Regards,</div><div>Kris</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

regards,<br>
<br>
<br>
Andrew Dinn<br>
-----------<br>
<br>
</blockquote></div><br></div></div>