[igt-dev] [RFC PATCH i-g-t v3 0/4] Calculate softpin offsets from actual page size

Janusz Krzysztofik janusz.krzysztofik at linux.intel.com
Mon Oct 28 15:53:14 UTC 2019


Some tests assume 4kB page size while using softpin.  That assumption
may be wrong on future GEM backends with possibly larger minimum page
sizes.  As a result, those tests may either fail on softpin at offsets
which are incorrectly aligned, may silently skip such incorrectly
aligned addresses assuming them occupied by other users, or may always
succeed when examining invalid use patterns.

Provide a helper function that detects minimum page size and returns
the size order.  Use it in test which perform softpin to calculate
offsets suitable for actually used backing store.

Changelog:
v2: Don't skip failing offsets only when on full PPGTT,
  - simplify the code by reversing the size->order conversion,
  - drop irrelevant modifications of requested object sizes.
v3: Drop patch 1/2 "Don't filter out addresses when on PPGTT" - I don't
    know how to detect if the kernel is interfering with the user's GTT,
  - introduce patch 1/4 "lib: Move redundant local helpers to lib/",
    subsequent patch will use the helper,
  - introduce patch 2/4 "lib: Add GEM minimum page size helper",
    subsequent patches will use the new helper (inspired by Chris),
  - in former patch 2/2, now 3/4, initialize page size order with an
    actual minimum returned by the new helper (inspired by Chris),
  - add a new fix for gem_ctx_shared test (patch 4/4).

Janusz Krzysztofik (4):
  lib/i915: Move redundant local helpers to lib/
  lib/i915: Add GEM minimum page size helper
  tests/gem_exec_reloc: Calculate softpin offsets from actual page size
  tests/gem_ctx_shared: Calculate object attributes from actual page size

 lib/igt_x86.c               | 13 ++++++
 lib/igt_x86.h               |  5 +++
 lib/ioctl_wrappers.c        | 82 +++++++++++++++++++++++++++++++++++++
 lib/ioctl_wrappers.h        |  1 +
 tests/i915/gem_ctx_shared.c |  6 ++-
 tests/i915/gem_exec_reloc.c | 26 ++++--------
 tests/i915/gem_softpin.c    | 13 +-----
 7 files changed, 115 insertions(+), 31 deletions(-)

-- 
2.21.0



More information about the igt-dev mailing list