JDK-8253064 : monitor list simplifications and getting rid of TSM
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 16
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-09-11
  • Updated: 2022-03-28
  • Resolved: 2020-11-11
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 16
16 b24Fixed
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Relates :  
Sub Tasks
JDK-8254029 :  
Description
Erik O. has some ideas for:

- simplifying the ObjectMonitor lists
- getting rid of ObjectMonitor Type Stable Memory (TSM)

He developed those changes as part of his work on:

    JDK-8247281 migrate ObjectMonitor::_object to OopStorage

and I separated that work into parts. This bug covers part3
of Erik O's patch.
Comments
Baseline testing with Kitchensink8H reached the following population counts with release, fastdebug and slowdebug bits: $ grep 'async global_population=' build/linux-x86_64-normal-server-release/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink8H_java/applications/kitchensink/monitorinflation.log | tail -1 [29397.284s][info][monitorinflation] async global_population=26543, global_in_use_count=2, global_free_count=25376, global_wait_count=8 $ grep 'async global_population=' build/linux-x86_64-normal-server-fastdebug/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink8H_java/applications/kitchensink/monitorinflation.log | tail -1 [29084.494s][info][monitorinflation] async global_population=26543, global_in_use_count=0, global_free_count=25058, global_wait_count=6 $ grep 'async global_population=' build/linux-x86_64-normal-server-slowdebug/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink8H_java/applications/kitchensink/monitorinflation.log | tail -1 [29332.358s][info][monitorinflation] async global_population=16510, global_in_use_count=0, global_free_count=16169, global_wait_count=2 $ grep ' max=' build/linux-x86_64-normal-server-release/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink8H_java/applications/kitchensink/monitorinflation.log | tail -1 [29127.289s][info][monitorinflation] count=4, max=51261 $ grep ' max=' build/linux-x86_64-normal-server-fastdebug/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink8H_java/applications/kitchensink/monitorinflation.log | tail -1 [29127.899s][info][monitorinflation] count=4, max=51627 $ grep ' max=' build/linux-x86_64-normal-server-slowdebug/test-support/jtreg_closed_test_hotspot_jtreg_applications_kitchensink_Kitchensink8H_java/applications/kitchensink/monitorinflation.log | tail -1 [29313.502s][info][monitorinflation] count=4, max=51369 ........................... jdk-16+23 .. 8253064 ........................... ------------- .. ------------ release bits: ....... 26543 ....... 51261 fastdebug bits: ... 26543 ....... 51627 slowdebug bits: ..16510 ........ 51369
12-11-2020

Changeset: 2e19026d Author: Daniel D. Daugherty <dcubed@openjdk.org> Date: 2020-11-11 16:20:11 +0000 URL: https://github.com/openjdk/jdk/commit/2e19026d
11-11-2020