CMS parallel initial mark; vm thread sneaking in Thread::try_lock()
yamauchi at google.com
Tue Jun 25 19:05:51 PDT 2013
Here's an updated webrev:
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.
> 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...
More information about the hotspot-runtime-dev