[Bug 110976] [CI][BAT] igt at i915_selftest@live_contexts - incomplete - INFO: task kworker/* blocked for more than 61 seconds.
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Wed Jul 3 12:42:47 UTC 2019
https://bugs.freedesktop.org/show_bug.cgi?id=110976
Chris Wilson <chris at chris-wilson.co.uk> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|NEW |RESOLVED
--- Comment #6 from Chris Wilson <chris at chris-wilson.co.uk> ---
commit c03467ba40f783ebe756114bb68e13a6b404c03a
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Wed Jul 3 10:17:17 2019 +0100
drm/i915/gem: Free pages before rcu-freeing the object
As we have dropped the final reference to the object, we do not need to
wait until after the rcu grace period to drop its pages. We still require
struct_mutex to completely unbind the object to release the pages, so we
still need a free-worker to manage that from process context. By
scheduling the release of pages before waiting for the rcu should mean
that we are not trapping those pages from beyond the reach of the
shrinker.
v2: Pass along the request to skip if the vma is busy to the underlying
unbind routine, to avoid checking the reservation underneath the
i915->mm.obj_lock which may be used from inside irq context.
v3: Flip the bit for unbinding while active, for later convenience.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111035
Fixes: a93615f900bd ("drm/i915: Throw away the active object retirement
complexity")
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld at intel.com>
Reviewed-by: Matthew Auld <matthew.auld at intel.com>
Link:
https://patchwork.freedesktop.org/patch/msgid/20190703091726.11690-6-chris@chris-wilson.co.uk
undid most of the damage, but we still needed to actually free the objects
between tests to avoid a lot of small allocations being hogged by rcu,
commit 63251685c141ef8db611cd36609a8369d97b47da
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Wed Jul 3 10:17:12 2019 +0100
drm/i915/selftests: Common live setup/teardown
We frequently, but not frequently enough!, remember to flush residual
operations and objects at the end of a live subtest. The purpose is to
cleanup after every subtest, leaving a clean slate for the next subtest,
and perform early detection of leaky state. As this should ideally be
common for all live subtests, pull the task into a common teardown
routine.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Reviewed-by: Matthew Auld <matthew.auld at intel.com>
Link:
https://patchwork.freedesktop.org/patch/msgid/20190703091726.11690-1-chris@chris-wilson.co.uk
--
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20190703/776cc6f0/attachment-0001.html>
More information about the intel-gfx-bugs
mailing list