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