<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:ryao@gentoo.org" title="Richard Yao <ryao@gentoo.org>"> <span class="fn">Richard Yao</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - ANV driver doesn't release memory"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=107899">bug 107899</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">CC</td>
           <td>
                
           </td>
           <td>ryao@gentoo.org
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - ANV driver doesn't release memory"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=107899#c7">Comment # 7</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - ANV driver doesn't release memory"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=107899">bug 107899</a>
              from <span class="vcard"><a class="email" href="mailto:ryao@gentoo.org" title="Richard Yao <ryao@gentoo.org>"> <span class="fn">Richard Yao</span></a>
</span></b>
        <pre><span class="quote">> The accumulation of i915_request implies there is a fence leak. Assuming it is not internal (an unmatched dma_fence_get/dma_fence_put), all userspace owners would be tied to an fd and eventually one would notice the fd exhaustion (after a few million depending on rlimit).</span >

It is not tied to a file descriptor because I915_EXEC_FENCE_OUT is not set in
args->flags (that was worked out by working backward from a perf trace). This
means that DEFINE_DRM_GEM_FOPS->drm_release is never called, and we never get
dma_fence_put() from this (hypothetical) stack:

dma_fence_put
drm_syncobj_free
kref_put
drm_syncobj_put
drm_syncobj_release_handle
drm_syncobj_release
drm_release

The trace at github indirectly shows that out_fence_fd == -1:

<a href="https://github.com/doitsujin/dxvk/issues/632#issuecomment-420485691">https://github.com/doitsujin/dxvk/issues/632#issuecomment-420485691</a>

Also, my system is also affected by this. I have a Xeon E3-1276v3. I am running
Gentoo with Linux 4.18.0-rc8, Xorg 1.19.5, mesa 18.1.6 and vulkan-loader
1.1.77.0. I have killed the Xorg server and the i915_request objects were not
freed from the SLAB cache. This implies that the objects are not tied to a file
descriptor.</pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the QA Contact for the bug.</li>
          <li>You are on the CC list for the bug.</li>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>