CRR (XS): 7098085: G1: partially-young GCs not initiated under certain circumstances
Bengt Rutisson
bengt.rutisson at oracle.com
Thu Oct 6 06:28:59 UTC 2011
Tony,
Looks good to me. Thanks for adding the extra comments in
ConcurrentMarkThread::run(). They will be very useful when getting back
to this code.
Some comments on the email discussion inline...
On 2011-10-06 02:52, Tony Printezis wrote:
>
>
> On 10/5/2011 8:27 PM, Tony Printezis wrote:
>>> [1] you will have to invent a suitable other name, perhaps
>>> DesynchronizeWithSafepoints
>>> for when you do the reverse, i.e. perform an action outside of the
>>> _sts, as happens
>>> when you are doing those synch barriers amongst the concurrent marking
>>> threads in case of overflow and restart.
>>
>> I can't think of a good name off-hand but I'll think about it for a
>> bit... (suggestions are welcome!)
>
> How about JoinSuspendibleThreadSet / LeaveSuspendibleThreadSet, example:
I like JoinSuspendibleThreadSet. It seems natural. I understand where
LeaveSuspendibleThreadSet is coming from, but just seeing it by itself
on a code line will give me the wrong impression - I think. It sounds so
active, whereas I assume it will have to include some potential waiting
for other threads to leave a safe point, right?
>
> {
> JoinSuspendibleThreadSet x;
> ...
> }
>
> Both sound very descriptive to me. Alternatively, maybe
> InsideSuspendibleThreadSet / OutsideSuspendibleThreadSet?
I actually like InsideSuspendibleThreadSet / OutsideSuspendibleThreadSet
better. It indicates what you really want to achieve with the code block.
Just my initial thoughts on the naming...
Bengt
>
> I'd love to have something like MutexLocker / MutexUnlocker but I
> can't think of an appropriate noun (SuspendibleThreadSetJoiner?!?!?!?
> this sounds SO wrong!).
>
> Tony
More information about the hotspot-gc-dev
mailing list