CMS parallel initial mark; vm thread sneaking in Thread::try_lock()

Hiroshi Yamauchi yamauchi at google.com
Wed Jun 26 02:05:51 UTC 2013


Here's an updated webrev:
http://cr.openjdk.java.net/~hiroshi/webrevs/edenchunks/webrev.01/

Let me know if there are more comments.


On Fri, Jun 21, 2013 at 3:50 PM, Jon Masamitsu <jon.masamitsu at oracle.com>wrote:

> Yes, remove the assert.
>
> Jon
>
>
> On 6/19/2013 10:39 AM, Hiroshi Yamauchi wrote:
>
>> Now, if I comment out the assert, it seems to work (though I haven't
>>>> tested it very long.) This may be good if in fact sneak won't happen
>>>> with try_lock()/unlock() only.
>>>>
>>>> I haven't tried this, but another potential approach might be to give
>>>> up sampling (just return) if it's called by the VM thread at a
>>>> safepoint, though the VM thread might allocate a large object, and the
>>>> evenness of the sample distribution could suffer to some extent.
>>>>
>>> I'd just remove the assert :)
>>>
>>> As already mentioned multiple times, try_lock() does never actually
>>> block the thread, so the vm thread cannot actually sneak, as you already
>>> noticed in your question to David, and he confirmed. The guarded code
>>> can also never block, it's just a few assignments.
>>>
>>>  Removing the assert sounds good to me.
>>
>> Jon, what do you think?
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20130625/5ffe2198/attachment.htm>


More information about the hotspot-gc-dev mailing list