<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Yikes... a Linux man page i found does not say anything about swap
    reservation:<br>
    <br>
    <dl compact="compact">
      <dt><b>MADV_DONTNEED</b>
      </dt>
      <dd>Do not expect access in the near future. (For the time being,
        the application is finished with the given range, so the kernel
        can free resources associated
        with it.) Subsequent accesses of pages in this range will
        succeed, but will result either in re-loading of the memory
        contents from the underlying mapped file
        (see <b>mmap</b>()) or zero-fill-on-demand pages for mappings
        without an underlying file.</dd>
    </dl>
    Is there an understanding that this is a Linux bug? Or is
    "resources" above open to<br>
    interpretation, including swap reservation? (Andrew Haley?)<br>
    <br>
    Anyway, your change looks good, if only to get back to more reliable
    operation<br>
    under tight memory situations?<br>
    <br>
    PS: Igor, what does "louses" below (in yr email) mean in this
    context?<br>
    <br>
    Reviewed!<br>
    -- ramki<br>
    <br>
    <br>
    On 8/3/2011 1:55 PM, Igor Veresov wrote:
    <blockquote cite="mid:4E39B5B5.1040509@oracle.com" type="cite">Resending
      to the right list.
      <br>
      <br>
      -------- Original Message --------
      <br>
      Subject: review(XXS): 7060842: UseNUMA crash with UseHugreTLBFS
      running SPECjvm2008
      <br>
      Date: Wed, 03 Aug 2011 13:40:17 -0700
      <br>
      From: Igor Veresov <a class="moz-txt-link-rfc2396E" href="mailto:igor.veresov@oracle.com"><igor.veresov@oracle.com></a>
      <br>
      To: hotspot-compiler-dev
      <a class="moz-txt-link-rfc2396E" href="mailto:hotspot-compiler-dev@openjdk.java.net"><hotspot-compiler-dev@openjdk.java.net></a>
      <br>
      <br>
      It seems that madvise(MADV_FREE) breaks pages reservation
      semantics of
      <br>
      the the underlying segment. With tight memory constraints this
      would
      <br>
      cause a race for pages and a segfault if the JVM louses. The
      solution is
      <br>
      to revert back to the previous implementation of os::free_memory()
      that
      <br>
      used mmap().
      <br>
      <br>
      Webrev: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~iveresov/7060842/webrev.00/">http://cr.openjdk.java.net/~iveresov/7060842/webrev.00/</a>
      <br>
      <br>
      Tested is gc test suite.
      <br>
      <br>
      igor
      <br>
    </blockquote>
  </body>
</html>