[Intel-gfx] [PATCH 1/3] tests/gem_userptr_blits: Expanded userptr test cases

Chris Wilson chris at chris-wilson.co.uk
Wed Mar 5 15:48:03 CET 2014


On Wed, Feb 26, 2014 at 04:17:43PM +0000, Tvrtko Ursulin wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> 
> A set of userptr test cases to support the new feature.
> 
> For the eviction and swapping stress testing I have extracted
> some common behaviour from gem_evict_everything and made both
> test cases use it to avoid duplicating the code.
> 
> Both unsynchronized and synchronized userptr objects are
> tested but the latter set of tests will be skipped if kernel
> is compiled without MMU_NOTIFIERS.
> 
> Also, with 32-bit userspace swapping tests are skipped if
> the system has a lot more RAM than process address space.
> Forking swapping tests are not skipped since they can still
> trigger swapping by cumulative effect.
> 
> v2:
>    * Fixed dmabuf test.
>    * Added test for rejecting read-only.
>    * Fixed ioctl detection for latest kernel patch.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
> +static void
> +copy(int fd, uint32_t dst, uint32_t src, unsigned int error)
> +{
> +	uint32_t batch[10];
> +	struct drm_i915_gem_relocation_entry reloc[2];
> +	struct drm_i915_gem_exec_object2 obj[3];
> +	struct drm_i915_gem_execbuffer2 exec;
> +	uint32_t handle;
> +	int ret;
> +
> +	batch[0] = XY_SRC_COPY_BLT_CMD |
> +		  XY_SRC_COPY_BLT_WRITE_ALPHA |
> +		  XY_SRC_COPY_BLT_WRITE_RGB | 6;

Hmm, you made blit() bdw-aware, but not this copy() routine?

As for the rest, I think we have good coverage.

What I would like to see exercised as well is mmap(fd), shm_open() and
sysv shmem.

Another thing to test is transfering our device fd over a unix socket to
another process and checking that we can continue to access the memory.
(That should just be the same as forking and continuing to use the
parent fd.)

I can think of more wacky vma to use, but I haven't thought of any
corner cases in the code that need exercising.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list