[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
Hi,
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.
Regards,
Tvrtko
More information about the Intel-gfx
mailing list