RFR: 8073545 - Use shorter and more descriptive names for GCworker threads
Mikael Gerdin
mikael.gerdin at oracle.com
Thu Mar 5 11:48:36 UTC 2015
On 2015-03-05 12:45, Bernd Eckenfels wrote:
> It would be good if all names contain "GC" maybe even have a Common
> prefix. (and a Common thread group in Java land, but that is I guess a
> different Topic)
The GC threads do not (and should not IMO) have corresponding Thread
objects and cannot be members of a thread group.
/Mikael
>
> --
> http://bernd.eckenfels.net
> ------------------------------------------------------------------------
> Von: Erik Helin <mailto:erik.helin at oracle.com>
> Gesendet: 05.03.2015 11:41
> An: Bengt Rutisson <mailto:bengt.rutisson at oracle.com>
> Cc: hotspot-gc-dev at openjdk.java.net <mailto:hotspot-gc-dev at openjdk.java.net>
> Betreff: Re: RFR: 8073545 - Use shorter and more descriptive names for
> GCworker threads
>
> On 2015-03-04, Bengt Rutisson wrote:
> >
> > Hi David and everyone,
> >
> > I don't have strong opinions on this, but here's what I'd suggest:
> >
> > "CMSTask"
> > "CMSMain"
> > "G1ConcRefine#%d"
> > "G1MarkTask"
> > "G1ConcMark"
> > "StringDedup"
> > "ParGCTask"
> > "GCParTask"
> >
>
> These names looks good to me.
>
> Thanks,
> Erik
>
> >
> > On 2015-03-04 15:11, David Lindholm wrote:
> > >Hi Jesper,
> > >
> > >On 2015-03-04 14:52, Jesper Wilhelmsson wrote:
> > >>Hi David,
> > >>
> > >>Thanks for fixing this!
> > >>
> > >>A couple of questions:
> > >>
> > >>- set_name("G1 Concurrent Refinement Thread#%d", worker_id);
> > >>+ set_name("G1 ConRefine#%d", worker_id);
> > >>
> > >>Is there any refinement threads that are not concurrent? If not, could
> > >>we just call this "G1 Refine#%d" to simplify it slightly and remove an
> > >>implementation detail that doesn't need to be exposed? This would also
> > >>leave room for three digit numbers in case we have lots of these
> threads
> > >>on some systems.
> > >
> > >I discussed this with Bengt, and his input was that Concurrent
> Refinement
> > >is a well known concept in G1. I have no real opinion here, I'm fine
> with
> > >both suggestions.
> > >
> > >>- _parallel_workers = new FlexibleWorkGang("G1 Parallel Marking
> > >>Threads",
> > >>+ _parallel_workers = new FlexibleWorkGang("G1 Markers",
> > >>
> > >>Markers is cute, but could be misunderstood. Can we call it "G1 Mark
> > >>Threads" instead?
> > >
> > >No, it is too long, the three last character with thread number
> won't fit
> > >(#xx).
> > >
> > >>- set_name("G1 Main Concurrent Mark GC Thread");
> > >>+ set_name("G1 Main Marker");
> > >>
> > >>Again, "Marker" could be misunderstood. I don't have a good replacement
> > >>though.
> > >
> > >I'm open for suggestions, but I think "G1 Main Marker" works.
> > >
> > >>- set_name("GC task thread#%d (ParallelGC)", which);
> > >>+ set_name("ParGC Thread#%d", which);
> > >>
> > >>I don't have a good suggestion for how to make this one character
> > >>shorter, but currently there is only room for two digit numbers. Maybe
> > >>just "GC Thread#%d". I don't think these threads will exist at the same
> > >>time as any other GC threads anyway.
> > >
> > >With your suggestion these threads would be called the same thing as the
> > >threads in sharedHeap. I think it is nice to quickly be able to see that
> > >these threads indeed belongs to the ParallelGC.
> > >
> > >>- set_name("Gang worker#%d (%s)", id, gang->name());
> > >>+ set_name("%s#%d", gang->name(), id);
> > >>
> > >>Is there any limitation on the length of the name()? If it's too long
> > >>the number won't show. Can we add an assert to make sure it isn't too
> > >>long?
> > >
> > >I have gone through our current GangWorkers, and they fit. If you want I
> > >can add an assert for <= 12 characters. OTOH it is not the end of the
> > >world if we don't see the whole number in the debugger.
> > >
> > >
> > >Thanks,
> > >David
> > >
> > >>
> > >>Thanks,
> > >>/Jesper
> > >>
> > >>
> > >>David Lindholm skrev den 4/3/15 13:48:
> > >>>Hi,
> > >>>
> > >>>Please review this small fix which changes the names of the GC threads
> > >>>to be
> > >>>shorter and more descriptive. There is a limit on 16 characters
> > >>>including the
> > >>>terminating null byte for this name, since pthread_set_name_np() is
> > >>>used. This
> > >>>change will make it easier to debug, as these names shows up in the
> > >>>debugger.
> > >>>
> > >>>Webrev: http://cr.openjdk.java.net/~brutisso/8073545/webrev.00/
> > >>>Bug: https://bugs.openjdk.java.net/browse/JDK-8073545
> > >>>
> > >>>Testing: Passed JPRT.
> > >>>
> > >>>
> > >>>Regards,
> > >>>David
> > >
> >
More information about the hotspot-gc-dev
mailing list