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

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Wed Dec 2 02:45:42 PST 2015


On 02/12/15 10:24, Tvrtko Ursulin wrote:
> On 01/12/15 11:20, Vinay Belgaumkar wrote:
>> 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.
>> Cc: Michel Thierry <michel.thierry at intel.com>
>> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>> Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar at intel.com>
>> ---
>>   tests/.gitignore       |    1 +
>>   tests/Makefile.sources |    1 +
>>   tests/gem_softpin.c    | 1049
>> ++++++++++++++++++++++++++++++++++++++++++++++++
>>   3 files changed, 1051 insertions(+)
>>   create mode 100644 tests/gem_softpin.c
> I could find some more style issues but it looks functionally reasonable
> for the basic coverage. So:
>    Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Now comes the hard part - following up on the promise to extend with
> more test cases here and elsewhere. :)

I take it back! :)

One thing is, you are not using I915_PARAM_HAS_EXEC_SOFTPIN to 
gracefully skip tests when kernel does not have the softpin feature.



More information about the Intel-gfx mailing list