Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8256302 releasing oopStorage when deflating allows for faster deleting
  3. JDK-8291418

adjust monitor deflation logging and deflate_idle_monitors use

XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Fixed
    • Icon: P4 P4
    • 20
    • 20
    • hotspot
    • None
    • b27

      While working on the following RFE:

          JDK-8256302 releasing oopStorage when deflating allows for faster deleting

      I ran into some minor issues with monitor deflation logging and the
      deflate_idle_monitors() calls.

      - The logging call near the end of ObjectSynchronizer::deflate_idle_monitors()
        that describes the work done in MMM.NNNNNNN seconds should include
        unlinked_count and deleted_count in addition to deflated_count.

      - The deflate_idle_monitors() call in
        ObjectSynchronizer::do_final_audit_and_print_stats() should
        continue when 1 or more monitors is deflated. By stopping after
        the first count < MonitorDeflationMax is encountered, it is possible
        to miss other deflation attempts where count < MonitorDeflationMax
        is encountered. This can happen during the final audit when the
        MonitorDeflationThread has paused for the final safepoint after
        deflating some number of monitors, but the pause happens before
        the deflated monitors are unlinked. The VMThread will be able to
        unlink these monitors if it does another deflate_idle_monitors() call
        after the first count < MonitorDeflationMax is encountered.
       
      - The deflate_idle_monitors() call in VM_ThreadDump::doit()
        should continue when 1 or more monitors is deflated. This
        situation is similar to do_final_audit_and_print_stats() where
        the MonitorDeflationThread could be blocked for a safepoint
        and the VMThread could do the unlinking that was deferred
        for the safepoint pause.

            dcubed Daniel Daugherty
            dcubed Daniel Daugherty
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: