RFR (S/M) expose L1_data_cache_line_size for diagnostic/sanity checks (8049717)

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Jul 14 19:15:50 UTC 2014


Dan,

Only code style comments.

Can you use one line for next statements in objectMonitor.cpp.?:

+    tty->print_cr("INFO: sizeof(ObjectMonitor)=" SIZE_FORMAT,
+        sizeof(ObjectMonitor));

+  if (verbose) tty->print_cr("INFO: L1_data_cache_line_size=%u",
+                   cache_line_size);

+  guarantee(error_cnt == 0,
+      "Fatal error(s) found in ObjectMonitor::sanity_checks()");

+  ObjectSynchronizer::sanity_checks(verbose, cache_line_size, &error_cnt,
+      &warning_cnt);

And in synchronizer.cpp:

+    tty->print_cr("INFO: sizeof(SharedGlobals)=" SIZE_FORMAT,
+        sizeof(SharedGlobals));

We usually start second line of a print statement where "(" on first line:

+      tty->print_cr("WARNING: the _header and _owner fields are closer "
+                    "than a cache line which permits false sharing.");

Thanks,
Vladimir

On 7/14/14 10:47 AM, Daniel D. Daugherty wrote:
> Greetings,
>
> I've tweaked the fix based on David H's feedback.
>
> Here is the URL for the third round webrev:
>
> http://cr.openjdk.java.net/~dcubed/8049717-webrev/2-jdk9-hs-rt/
>
> The following files changed between round 1 and round 2:
>
> src/share/vm/runtime/objectMonitor.cpp
> src/share/vm/runtime/synchronizer.cpp
>
> Thanks, in advance, for any comments, questions or suggestions.
>
> Dan
>
>
> On 7/11/14 2:14 PM, Daniel D. Daugherty wrote:
>> Greetings,
>>
>> I've tweaked the fix based on Vladimir's feedback.
>>
>> Here is the URL for the second round webrev:
>>
>> http://cr.openjdk.java.net/~dcubed/8049717-webrev/1-jdk9-hs-rt/
>>
>> The following files changed between round 0 and round 1:
>>
>> src/cpu/sparc/vm/vm_version_sparc.cpp
>> src/cpu/x86/vm/vm_version_x86.cpp
>> src/cpu/x86/vm/vm_version_x86.hpp
>> src/share/vm/runtime/objectMonitor.cpp
>> src/share/vm/runtime/synchronizer.cpp
>>
>> Thanks, in advance, for any comments, questions or suggestions.
>>
>> Dan
>>
>>
>> On 7/9/14 10:42 AM, Daniel D. Daugherty wrote:
>>> Greetings,
>>>
>>> I have the fix for the following bug ready for JDK9 RT_Baseline:
>>>
>>>     JDK-8049717 expose L1_data_cache_line_size for diagnostic/sanity
>>>                 checks
>>>     https://bugs.openjdk.java.net/browse/JDK-8049717
>>>
>>> Here is the URL for the webrev:
>>>
>>> http://cr.openjdk.java.net/~dcubed/8049717-webrev/0-jdk9-hs-rt/
>>>
>>> This fix is a standalone piece from my Contended Locking reorder
>>> and cache-line bucket. I've split it off as an independent bug fix
>>> in order to make the reorder and cache-line bucket more clear.
>>>
>>> Testing:
>>>
>>> - JPRT test jobs
>>> - manual testing of the new output via existing options:
>>>   -XX:+UnlockExperimentalVMOptions -XX:SyncKnobs=Verbose=1
>>>   -XX:+ExecuteInternalVMTests -XX:+VerboseInternalVMTests
>>> - Aurora Adhoc nsk.sajdi and vm.parallel_class_loading as part of
>>>   testing for my Contended Locking reorder and cache-line bucket
>>>
>>> Thanks, in advance, for any comments, questions or suggestions.
>>>
>>> Dan
>>>
>>>
>>>
>>>
>>
>>
>>
>


More information about the hotspot-runtime-dev mailing list