Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4450032

GC requested for every object allocation when jvmpi is enabled

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • 1.4.0
    • 1.4.0
    • vm-legacy
    • None
    • beta2
    • sparc
    • solaris_8
    • Not verified

      Bad jvmpi performance due to GC operation for every object allocation
      when jvmpi is enabled.

      While debugging 4414956, I found a jvmpi performance problem and GC operation
      is requested for every single object allocation due to a problem in
      incremental_collection_will_fail flag.

      When jvmpi_alloc_event_enabled is on, the new generation is always filled up
      to force slow allocation.

      incremental_collection_will_fail flag is used to indicate if DefNewGeneration
      doesn't have sufficient space left for promotion or future allocation. That
      flag is set in DefNewGeneration::gc_epilogue() after GC finishes but before
      the new generation is filled. So incremental_collection_will_fail is always
      set to false when jvmpi is on (since no real objects (not that many) are
      allocated in the new generation).

      The performance issue arises in GenCollectedHeap::mem_allocate_work()
      that checks if incremenatal_collection_will_fail is false, then the system
      only attempts to allocate memory from the first generation. When
      jvmpi is enabled, allocation from the new generation (first generation) always
      fails, which causes to do a collection!!

      Need to check for jvmpi_alloc_event_enabled flag!

            mchung Mandy Chung (Inactive)
            mchung Mandy Chung (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: