RFR: 8079315: UseCondCardMark broken in conjunction with CMS precleaning

Aleksey Shipilev aleksey.shipilev at oracle.com
Tue May 12 18:54:16 UTC 2015

On 12.05.2015 20:23, Erik Österlund wrote:
> Out of curiosity I patched the thing and my fix can be found
> here: http://cr.openjdk.java.net/~eosterlund/8079315/webrev.v1/
> <http://cr.openjdk.java.net/%7Eeosterlund/8079315/webrev.v1/>

Wait, how does it work? I presumed you need to poll the serialization
page (and then handle the possible trap) in mutator, between storing the
reference and reading the card mark. Just mprotect-ing a page does not
smell like a serializing event, if you don't actually access the page.
If that is so, you *need* to do the work in mutator code, as well as
more collector and general VM work.

> Fortunately it looks like CMS is already batching cards pretty well for
> me so the change turned out to be very small. I logged to see how often
> this global fence is triggered and it’s very rare so I feel quite
> convinced it won’t impact performance negatively even on “that guy’s”
> machine and with a terrible OS implementation.

Okay, if those events are rare, I can buy the mprotect scheme.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20150512/5d665226/signature.asc>

More information about the hotspot-gc-dev mailing list