[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