All of lore.kernel.org
 help / color / mirror / Atom feed
From: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
To: igt-dev@lists.freedesktop.org
Cc: intel-gfx@lists.freedesktop.org
Subject: [RFC PATCH i-g-t v4 0/4] Calculate softpin offsets from minimum GTT alignment
Date: Thu, 31 Oct 2019 16:28:53 +0100	[thread overview]
Message-ID: <20191031152857.17143-1-janusz.krzysztofik@linux.intel.com> (raw)

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).
v4: Rename the helper, use 'minimum GTT alignment' term across the
    changes (Chris),
  - update variable names accordingly,
  - use error numbers to distinguish between invalid offsets and
    addresses occupied by other users, then
  - simplify the helper code (Chris),
  - drop no longer required patch 1/4 "lib: Move redundant local
    helpers to lib/",
  - reintroduce former patch 1/2 as 1/4 "tests/gem_exec_reloc: Don't
    filter out invalid addresses" with the former not on full PPGTT
    requirement for skipping now replaced with error code checking.

Janusz Krzysztofik (4):
  tests/gem_exec_reloc: Don't filter out invalid addresses
  lib: Add minimum GTT alignment helper
  tests/gem_exec_reloc: Calculate offsets from minimum GTT alignment
  tests/gem_ctx_shared: Align objects using minimum GTT alignment

 lib/ioctl_wrappers.c        | 46 +++++++++++++++++++++++++++++++++++++
 lib/ioctl_wrappers.h        |  2 ++
 tests/i915/gem_ctx_shared.c |  6 +++--
 tests/i915/gem_exec_reloc.c | 22 ++++++++++++------
 4 files changed, 67 insertions(+), 9 deletions(-)

-- 
2.21.0

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

WARNING: multiple messages have this Message-ID (diff)
From: Janusz Krzysztofik <janusz.krzysztofik@linux.intel.com>
To: igt-dev@lists.freedesktop.org
Cc: intel-gfx@lists.freedesktop.org
Subject: [Intel-gfx] [RFC PATCH i-g-t v4 0/4] Calculate softpin offsets from minimum GTT alignment
Date: Thu, 31 Oct 2019 16:28:53 +0100	[thread overview]
Message-ID: <20191031152857.17143-1-janusz.krzysztofik@linux.intel.com> (raw)
Message-ID: <20191031152853.uVMEssyNiqJmBZzwbQGjh7uOPBDgcItal9pHlnNgKss@z> (raw)

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).
v4: Rename the helper, use 'minimum GTT alignment' term across the
    changes (Chris),
  - update variable names accordingly,
  - use error numbers to distinguish between invalid offsets and
    addresses occupied by other users, then
  - simplify the helper code (Chris),
  - drop no longer required patch 1/4 "lib: Move redundant local
    helpers to lib/",
  - reintroduce former patch 1/2 as 1/4 "tests/gem_exec_reloc: Don't
    filter out invalid addresses" with the former not on full PPGTT
    requirement for skipping now replaced with error code checking.

Janusz Krzysztofik (4):
  tests/gem_exec_reloc: Don't filter out invalid addresses
  lib: Add minimum GTT alignment helper
  tests/gem_exec_reloc: Calculate offsets from minimum GTT alignment
  tests/gem_ctx_shared: Align objects using minimum GTT alignment

 lib/ioctl_wrappers.c        | 46 +++++++++++++++++++++++++++++++++++++
 lib/ioctl_wrappers.h        |  2 ++
 tests/i915/gem_ctx_shared.c |  6 +++--
 tests/i915/gem_exec_reloc.c | 22 ++++++++++++------
 4 files changed, 67 insertions(+), 9 deletions(-)

-- 
2.21.0

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

             reply	other threads:[~2019-10-31 15:28 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-31 15:28 Janusz Krzysztofik [this message]
2019-10-31 15:28 ` [Intel-gfx] [RFC PATCH i-g-t v4 0/4] Calculate softpin offsets from minimum GTT alignment Janusz Krzysztofik
2019-10-31 15:28 ` [RFC PATCH i-g-t v4 1/4] tests/gem_exec_reloc: Don't filter out invalid addresses Janusz Krzysztofik
2019-10-31 15:28   ` [Intel-gfx] " Janusz Krzysztofik
2019-10-31 16:59   ` Vanshidhar Konda
2019-10-31 16:59     ` [Intel-gfx] " Vanshidhar Konda
2019-11-04  9:16     ` Janusz Krzysztofik
2019-11-04  9:16       ` [Intel-gfx] " Janusz Krzysztofik
2019-11-01 10:02   ` Chris Wilson
2019-11-01 10:02     ` [igt-dev] " Chris Wilson
2019-11-01 10:02     ` [Intel-gfx] " Chris Wilson
2019-11-04  9:13     ` Janusz Krzysztofik
2019-11-04  9:13       ` [Intel-gfx] " Janusz Krzysztofik
2019-11-04  9:17       ` Chris Wilson
2019-11-04  9:17         ` [igt-dev] " Chris Wilson
2019-11-04  9:17         ` [Intel-gfx] " Chris Wilson
2019-10-31 15:28 ` [RFC PATCH i-g-t v4 2/4] lib: Add minimum GTT alignment helper Janusz Krzysztofik
2019-10-31 15:28   ` [Intel-gfx] " Janusz Krzysztofik
2019-10-31 16:58   ` Vanshidhar Konda
2019-10-31 16:58     ` [Intel-gfx] " Vanshidhar Konda
2019-11-04 14:40     ` Janusz Krzysztofik
2019-11-04 14:40       ` [Intel-gfx] " Janusz Krzysztofik
2019-11-01 10:08   ` Chris Wilson
2019-11-01 10:08     ` [igt-dev] " Chris Wilson
2019-11-01 10:08     ` [Intel-gfx] " Chris Wilson
2019-11-04  9:23     ` Janusz Krzysztofik
2019-11-04  9:23       ` [Intel-gfx] " Janusz Krzysztofik
2019-11-04  9:28       ` Chris Wilson
2019-11-04  9:28         ` [Intel-gfx] " Chris Wilson
2019-11-04 10:26         ` Janusz Krzysztofik
2019-11-04 10:26           ` [Intel-gfx] " Janusz Krzysztofik
2019-10-31 15:28 ` [RFC PATCH i-g-t v4 3/4] tests/gem_exec_reloc: Calculate offsets from minimum GTT alignment Janusz Krzysztofik
2019-10-31 15:28   ` [Intel-gfx] " Janusz Krzysztofik
2019-11-01 10:11   ` Chris Wilson
2019-11-01 10:11     ` [igt-dev] " Chris Wilson
2019-11-01 10:11     ` [Intel-gfx] " Chris Wilson
2019-10-31 15:28 ` [RFC PATCH i-g-t v4 4/4] tests/gem_ctx_shared: Align objects using " Janusz Krzysztofik
2019-10-31 15:28   ` [Intel-gfx] " Janusz Krzysztofik
2019-10-31 17:00   ` Vanshidhar Konda
2019-10-31 17:00     ` [Intel-gfx] " Vanshidhar Konda
2019-11-01  9:42   ` Chris Wilson
2019-11-01  9:42     ` [Intel-gfx] " Chris Wilson
2019-11-01 10:11     ` Chris Wilson
2019-11-01 10:11       ` [igt-dev] " Chris Wilson
2019-11-01 10:11       ` [Intel-gfx] " Chris Wilson
2019-11-04  9:39     ` Janusz Krzysztofik
2019-11-04  9:39       ` [Intel-gfx] " Janusz Krzysztofik
2019-11-04  9:47       ` Chris Wilson
2019-11-04  9:47         ` [igt-dev] " Chris Wilson
2019-11-04  9:47         ` [Intel-gfx] " Chris Wilson
2019-10-31 16:47 ` [igt-dev] ✓ Fi.CI.BAT: success for Calculate softpin offsets from " Patchwork
2019-11-01 19:09 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191031152857.17143-1-janusz.krzysztofik@linux.intel.com \
    --to=janusz.krzysztofik@linux.intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.