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

Reduce calls to vm_exit_out_of_memory() for commit_memory() failures.

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Unresolved
    • Icon: P4 P4
    • tbd
    • None
    • hotspot
    • None
    • gc
    • linux, solaris

      Currently if we fail to commit memory on linux or solaris we
      do a VM exit. This failure has shown up in the nightly testing
      in the last few builds. Because of the loss of the reservation
      on the memory, this is a reasonable action to take. For background
      see

      https://jbs.oracle.com/bugs/browse/JDK-6843484

      The original problem was

      1) GC reserved memory
      2) GC tries to commit memory and fails and looses
      the reservation on the memory.
      3) Other thread gets reserves the memory.
      4) GC again tries to commit because it thinks
      it still has the memory.

      Dan considered reserving the memory again after 2)
      but there would be a race with 3) so instead calls
      a VM exit.

      Should we consider after 2) reducing the size of
      the VirtualSpace so that GC does not try to do
      4)?

            Unassigned Unassigned
            jmasa Jon Masamitsu (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: