Re: [PATCH i-g-t] tests/gem_softpin: New tests for softpin feature

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/12/15 12:16, Tvrtko Ursulin wrote:

On 08/12/15 11:57, Michel Thierry wrote:
From: Vinay Belgaumkar <vinay.belgaumkar@xxxxxxxxx>

These tests exercise the userptr ioctl to create shared buffers
between CPU and GPU. They contain error and normal usage scenarios.
They also contain a couple of stress tests which copy buffers between
CPU and GPU. These tests rely on the softpin patch in order to pin
buffers
to a certain VA.

Caveat: These tests were designed to run on 64-bit system. Future work
includes adding logic to ensure these tests can run on 32-bit systems
with
PPGTT support. Some tests are currently disabled for 32-bit systems
for that
reason.

v2: Added cc and signed-off-by fields

v3: Fixed review comments, added helper functions. Removed userptr error
scenarios covered by existing userptr tests. Modified stress test to have
100K buffers, it now runs for ~30 mins, checks every element has been
written
to correctly, and pins buffers at different VMAs.

v4: Changed name to gem_softpin

v5: More fixes. Removed the file based tests, will move them to
userptr tests.
Added a function that validates appropriate PPGTT support before
running tests.
Optimized stack space and memory footprint in stress test. Removed the
eviction
test, will add it back after verifying proper functionality.

v6: Split basic test into userptr and bo
Fixed some coding style issues.

v7: Enhanced invalid vma pinning test to verify 32-bit PPGTT
functionality.
Enabled the test for 32-bit PPGTT systems, and verify pinning fails above
32-bit addresses. Enhanced the high adress pinning test to ensure pinning
fails when EXEC_OBJECT_PINNED flag is not used. Some more cosmetic
fixes to
close buffer handles. Changed userptr function to used synchronized
operations.

v8: Minor change to high address pinning test as per comment.

v9: Skip the tests if softpin support is not present.

v10: Removed trailing white spaces.

v11: Keep alphabetical order in Makefile and gitignore; update error code
returned while trying to pin above the max vm size (EINVAL); test attempt
to pin above 4GB without the support 48b flag.

Cc: Michel Thierry <michel.thierry@xxxxxxxxx>
Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@xxxxxxxxx>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> (v10)
Signed-off-by: Michel Thierry <michel.thierry@xxxxxxxxx> (v11)
---
  tests/.gitignore       |    1 +
  tests/Makefile.sources |    1 +
  tests/gem_softpin.c    | 1084
++++++++++++++++++++++++++++++++++++++++++++++++
  3 files changed, 1086 insertions(+)
  create mode 100644 tests/gem_softpin.c

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>

I pushed this one since the kernel part got merged.

Regards,

Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux