<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - [CI][SHARDS] igt@i915_selftest@live_evict - incomplete - RIP: \d+:__queue_work"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=110520">bug 110520</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;">Resolution</td>
           <td>---
           </td>
           <td>FIXED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>NEW
           </td>
           <td>RESOLVED
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - [CI][SHARDS] igt@i915_selftest@live_evict - incomplete - RIP: \d+:__queue_work"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=110520#c3">Comment # 3</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - [CI][SHARDS] igt@i915_selftest@live_evict - incomplete - RIP: \d+:__queue_work"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=110520">bug 110520</a>
              from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
        <pre>commit dc76e5764a46ffb2e7f502a86b3288b5edcce191 (HEAD -> drm-intel-next-queued,
drm-intel/drm-intel-next-queued)
Author: Chris Wilson <<a href="mailto:chris@chris-wilson.co.uk">chris@chris-wilson.co.uk</a>>
Date:   Wed May 1 14:57:51 2019 +0100

    drm/i915: Complete both freed-object passes before draining the workqueue

    The workqueue code complains viciously if we try to queue more work onto
    the queue while attampting to drain it. As we asynchronously free
    objects and defer their enqueuing with RCU, it is quite tricky to
    quiesce the system before attempting to drain the workqueue. Yet drain
    we must to ensure that the worker is idle before unloading the module.

    Give the freed object drain 3 whole passes with multiple rcu_barrier()
    to give the defer freeing of several levels each protected by RCU and
    needing a grace period before its parent can be freed, ultimately
    resulting in a GEM object being freed after another RCU period.

    A consequence is that it will make module unload even slower.

    Bugzilla: <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - [CI][SHARDS] igt@i915_selftest@mock_requests - incomplete - ODEBUG: free active (active state 0) object type: work_struct hint: __i915_gem_free_work+0x0/0x90 [i915]"
   href="show_bug.cgi?id=110550">https://bugs.freedesktop.org/show_bug.cgi?id=110550</a>
    Signed-off-by: Chris Wilson <<a href="mailto:chris@chris-wilson.co.uk">chris@chris-wilson.co.uk</a>>
    Reviewed-by: Matthew Auld <<a href="mailto:matthew.auld@intel.com">matthew.auld@intel.com</a>>
    Link:
<a href="https://patchwork.freedesktop.org/patch/msgid/20190501135753.8711-1-chris@chris-wilson.co.uk">https://patchwork.freedesktop.org/patch/msgid/20190501135753.8711-1-chris@chris-wilson.co.uk</a></pre>
        </div>
      </p>


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

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