RFR(XL): 8167108 - SMR and JavaThread Lifecycle

Erik Österlund erik.osterlund at oracle.com
Wed Nov 22 13:06:50 UTC 2017


Hi Dan,

On 2017-11-22 13:53, Daniel D. Daugherty wrote:
> On 11/22/17 4:07 AM, Erik Österlund wrote:
>> Hi,
>>
>> Some replies...
>>
>> On 2017-11-21 17:28, Daniel D. Daugherty wrote:
>>> Hi Coleen!
>>>
>>> Thanks for making time to review the Thread-SMR stuff again!!
>>>
>>> I have added back the other three OpenJDK aliases... This review is
>>> being done on _four_ different OpenJDK aliases.
>>>
>>> As always, replies are embedded below...
>>>
>>>
>>> On 11/20/17 3:12 PM, coleen.phillimore at oracle.com wrote:
>>>> http://cr.openjdk.java.net/~dcubed/8167108-webrev/jdk10-09-full/src/hotspot/share/runtime/threadSMR.cpp.html 
>>>>
>>>>
>>>>   32 ThreadsList::ThreadsList(int entries) : _length(entries), 
>>>> _threads(NEW_C_HEAP_ARRAY(JavaThread*, entries + 1, mtGC)), 
>>>> _next_list(NULL) {
>>>>
>>>> Seems like it should be mtThread rather than mtGC.
>>>
>>> Fixed. Definitely an artifact of Erik's original prototype when he
>>> extracted Thread-SMR from his GC work... Thanks for catching it.
>>>
>>
>> Confirmed. At the time I considered the Threads list overheads GC 
>> overheads, but I agree mtThread is a better fit today.
>>
>>>
>>>>
>>>> + return (unsigned int)(((uint32_t)(uintptr_t)s1) * 2654435761u);
>>>>
>>>> Can you add a comment about where this number came from?
>>>
>>> I'll have to get that from Erik...
>>
>> Wow, that looks like code I wrote a *very* long time ago. :) That is 
>> a variation of Knuth's multiplicative hash which is outlined in a 
>> comment in synchronizer.cpp and referred to in that comment as a 
>> phi-based scheme. Basically the magic number is 2^32 * Phi (the 
>> golden ratio), which happens to be a useful value for building a 
>> reasonably simple yet pretty good hash function. It is not the 
>> optimal hash function, but seemed to definitely be good enough for 
>> our purposes.
>
> So a reasonable comment would be:
>
> // The literal value is 2^32 * Phi (the golden ratio).
>

Yes.

> If so, then I'll add it in my wrap up round...

Excellent, thanks Dan.

/Erik

> Dan
>
>>
>> Thanks,
>> /Erik
>



More information about the hotspot-runtime-dev mailing list