Chris Wilson
af85f50d18
drm/i915: Exercise manipulate of single pages in the GGTT
...
Move a single page of an object around within the GGTT and check
coherency of writes and reads.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170213171558.20942-45-chris@chris-wilson.co.uk
2017-02-13 20:46:51 +00:00
Chris Wilson
210e8ac48f
drm/i915: Add mock tests for GTT/VMA handling
...
Use the live tests against the mock ppgtt for quick testing on all
platforms of the VMA layer.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170213171558.20942-44-chris@chris-wilson.co.uk
2017-02-13 20:46:50 +00:00
Chris Wilson
5f32616edb
drm/i915: Add mock exercise for i915_gem_gtt_insert
...
i915_gem_gtt_insert should allocate from the available free space in the
GTT, evicting as necessary to create space.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170213171558.20942-43-chris@chris-wilson.co.uk
2017-02-13 20:46:49 +00:00
Chris Wilson
e619cd0d22
drm/i915: Add mock exercise for i915_gem_gtt_reserve
...
i915_gem_gtt_reserve should put the node exactly as requested in the
GTT, evicting as required.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170213171558.20942-42-chris@chris-wilson.co.uk
2017-02-13 20:46:48 +00:00
Chris Wilson
aae4a3d811
drm/i915: Use fault-injection to force the shrinker to run in live GTT tests
...
It is possible whilst allocating the page-directory tree for a ppgtt
bind that the shrinker may run and reap unused parts of the tree. If the
shrinker happens to remove a chunk of the tree that the
allocate_va_range has already processed, we may then try to insert into
the dangling tree. This test uses the fault-injection framework to force
the shrinker to be invoked before we allocate new pages, i.e. new chunks
of the PD tree.
References: https://bugs.freedesktop.org/show_bug.cgi?id=99295
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
2017-02-13 20:46:32 +00:00
Chris Wilson
4a6f13fce1
drm/i915: Live testing of lowlevel GTT operations
...
Directly test allocating the va range and clearing it, this bypasses the
use of i915_vma_bind() and inserting the pages to focus on testing of
the pagetables.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170213171558.20942-32-chris@chris-wilson.co.uk
2017-02-13 20:45:57 +00:00
Chris Wilson
5c3bff482a
drm/i915: Exercise filling and removing random ranges from the live GTT
...
Test the low-level i915_address_space interfaces to sanity check the
live insertion/removal of address ranges.
v2: Split out the low-level operations to a new test
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170213171558.20942-31-chris@chris-wilson.co.uk
2017-02-13 20:45:56 +00:00
Chris Wilson
6e32ab3d47
drm/i915: Fill different pages of the GTT
...
Exercise filling different pages of the GTT
v2: Walk all holes until we timeout
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170213171558.20942-30-chris@chris-wilson.co.uk
2017-02-13 20:45:56 +00:00
Chris Wilson
62c981cfe7
drm/i915: Exercise filling the top/bottom portions of the global GTT
...
Same test as previously for the per-process GTT instead applied to the
global GTT.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170213171558.20942-29-chris@chris-wilson.co.uk
2017-02-13 20:45:55 +00:00
Chris Wilson
8d28ba4568
drm/i915: Exercise filling the top/bottom portions of the ppgtt
...
Allocate objects with varying number of pages (which should hopefully
consist of a mixture of contiguous page chunks and so coalesced sg
lists) and check that the sg walkers in insert_pages cope.
v2: Check both small <-> large
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170213171558.20942-28-chris@chris-wilson.co.uk
2017-02-13 20:45:54 +00:00
Chris Wilson
1c42819a14
drm/i915: Add initial selftests for i915_gem_gtt
...
Simple starting point for adding selftests for i915_gem_gtt, first
try creating a ppGTT and filling it.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170213171558.20942-27-chris@chris-wilson.co.uk
2017-02-13 20:45:52 +00:00