OpenCloudOS-Kernel/drivers/gpu/drm/i915/selftests
Chris Wilson b32fa81115 drm/i915/gtt: Defer address space cleanup to an RCU worker
Enable RCU protection of i915_address_space and its ppgtt superclasses,
and defer its cleanup into a worker executed after an RCU grace period.

In the future we will be able to use the RCU protection to reduce the
locking around VM lookups, but the immediate benefit is being able to
defer the release into a kworker (process context). This is required as
we may need to sleep to reap the WC pages stashed away inside the ppgtt.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=110934
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190620183705.31006-1-chris@chris-wilson.co.uk
2019-06-20 21:52:30 +01:00
..
i915_active.c drm/i915: update rpm_get/put to use the rpm structure 2019-06-14 15:58:33 +01:00
i915_gem.c drm/i915: update with_intel_runtime_pm to use the rpm structure 2019-06-14 15:58:33 +01:00
i915_gem_evict.c drm/i915/selftests: Flush live_evict 2019-06-18 18:12:13 +01:00
i915_gem_gtt.c drm/i915/gtt: Defer address space cleanup to an RCU worker 2019-06-20 21:52:30 +01:00
i915_live_selftests.h drm/i915: add in-kernel blitter client 2019-05-30 12:01:44 +01:00
i915_mock_selftests.h drm/i915: Move phys objects to its own file 2019-05-28 12:45:29 +01:00
i915_random.c drm/i915: Share per-timeline HWSP using a slab suballocator 2019-01-28 19:07:06 +00:00
i915_random.h drm/i915: Share per-timeline HWSP using a slab suballocator 2019-01-28 19:07:06 +00:00
i915_request.c drm/i915/execlists: Preempt-to-busy 2019-06-20 16:52:36 +01:00
i915_selftest.c drm/i915/selftests: Upgrade printing test/subtest name to pr_info 2019-03-06 11:36:36 +00:00
i915_sw_fence.c drm/i915/selftests: Disable preemption while setting up fence-timers 2019-03-14 11:47:06 +00:00
i915_syncmap.c drm/i915/selftests: Always initialise err 2017-11-14 23:50:49 +00:00
i915_timeline.c drm/i915: Stop passing I915_WAIT_LOCKED to i915_request_wait() 2019-06-19 12:58:38 +01:00
i915_vma.c drm/i915: update rpm_get/put to use the rpm structure 2019-06-14 15:58:33 +01:00
igt_atomic.h drm/i915/selftests: Split igt_atomic_reset testcase 2019-05-23 21:53:26 +01:00
igt_flush_test.c drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
igt_flush_test.h drm/i915/selftests: Refactor common flush_test() 2018-05-08 12:44:31 +01:00
igt_live_test.c drm/i915: Drop fake breadcrumb irq 2019-01-29 21:45:30 +00:00
igt_live_test.h drm/i915/selftests: Refactor common live_test framework 2019-01-22 13:01:20 +00:00
igt_reset.c drm/i915/selftests: Split igt_atomic_reset testcase 2019-05-23 21:53:26 +01:00
igt_reset.h drm/i915/selftests: Split igt_atomic_reset testcase 2019-05-23 21:53:26 +01:00
igt_spinner.c drm/i915: Pull kref into i915_address_space 2019-06-11 11:44:24 +01:00
igt_spinner.h drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
igt_wedge_me.h drm/i915/selftests: Add a safety net to live_workarounds 2018-07-11 14:13:56 +01:00
intel_guc.c drm/i915: update rpm_get/put to use the rpm structure 2019-06-14 15:58:33 +01:00
intel_uncore.c drm/i915: update rpm_get/put to use the rpm structure 2019-06-14 15:58:33 +01:00
lib_sw_fence.c drm/i915/execlists: Virtual engine bonding 2019-05-22 08:40:46 +01:00
lib_sw_fence.h drm/i915: Replace global breadcrumbs with per-context interrupt tracking 2019-01-29 21:45:22 +00:00
mock_drm.c
mock_drm.h
mock_gem_device.c drm/i915: Keep contexts pinned until after the next kernel context switch 2019-06-14 19:03:32 +01:00
mock_gem_device.h
mock_gtt.c drm/i915: Rename i915_hw_ppgtt to i915_ppgtt 2019-06-11 11:44:32 +01:00
mock_gtt.h drm/i915: Rename i915_hw_ppgtt to i915_ppgtt 2019-06-11 11:44:32 +01:00
mock_request.c drm/i915: Move more GEM objects under gem/ 2019-05-28 12:45:29 +01:00
mock_request.h drm/i915: Make request allocation caches global 2019-02-28 11:07:56 +00:00
mock_timeline.c drm/i915: Replace engine->timeline with a plain list 2019-06-14 19:03:40 +01:00
mock_timeline.h drm/i915: Split i915_gem_timeline into individual timelines 2018-05-02 23:57:18 +01:00
mock_uncore.c drm/i915: use vfuncs for reg_read/write_fw_domains 2019-06-20 16:34:52 +01:00
mock_uncore.h drm/i915: make more uncore function work on intel_uncore 2019-03-20 21:12:42 +00:00
scatterlist.c drm/i915: Pull scatterlist utils out of i915_gem.h 2019-05-28 12:45:29 +01:00