RFR: 8079315: UseCondCardMark broken in conjunction with CMS precleaning

Andrew Haley aph at redhat.com
Tue May 12 19:03:40 UTC 2015


On 05/12/2015 07:54 PM, Aleksey Shipilev wrote:
> 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.

I think it is, because the kernel has to interrupt every CPU in that
process to flush its write buffer and TLB.  I can't think of any other
way of making munmap() work.

Andrew.



More information about the hotspot-gc-dev mailing list