RFR: 8073545 - Use shorter and more descriptive names for GC worker threads
jesper.wilhelmsson at oracle.com
Wed Mar 4 14:25:12 UTC 2015
Ok, I don't have a strong opinion. I just wanted to highlight these questions to
make sure there was a conscious decision to go with what you suggests :)
I do think we should try to fit three digit numbers in there though. The whole
point of this change is to make the names more usable in the debugger.
David Lindholm skrev den 4/3/15 15:11:
> 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
>> - _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"
> 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.
>> David Lindholm skrev den 4/3/15 13:48:
>>> 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.
More information about the hotspot-gc-dev