<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<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#c4">Comment # 4</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:martin.peres@free.fr" title="Martin Peres <martin.peres@free.fr>"> <span class="fn">Martin Peres</span></a>
</span></b>
<pre>(In reply to Chris Wilson from <a href="show_bug.cgi?id=110520#c3">comment #3</a>)
<span class="quote">> 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">https://patchwork.freedesktop.org/patch/msgid/20190501135753.8711-1</a>-
> <a href="mailto:chris@chris-wilson.co.uk">chris@chris-wilson.co.uk</a></span >
Thanks, it did the trick!</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 QA Contact for the bug.</li>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>