hg: jdk7/hotspot-gc/hotspot: 6915005: G1: Hang in PtrQueueSet::completed_buffers_list_length with gcl001

john.cuthbertson at sun.com john.cuthbertson at sun.com
Fri Jan 15 02:50:08 UTC 2010


Changeset: 09646c4656ca
Author:    johnc
Date:      2010-01-13 15:45 -0800
URL:       http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/09646c4656ca

6915005: G1: Hang in PtrQueueSet::completed_buffers_list_length with gcl001
Summary: When enqueuing a completed PtrQueue buffer, cache a local pointer to the buffer and clear the field in the PtrQueue prior to unlocking the mutex referenced by the _lock field and pass the cached local value to the enqueuing routine. This will prevent the same completed buffer being enqueued multiple times, which causes the hang.
Reviewed-by: ysr

! src/share/vm/gc_implementation/g1/ptrQueue.cpp
- src/share/vm/gc_implementation/g1/ptrQueue.inline.hpp




More information about the hotspot-gc-dev mailing list