[igt-dev] [PATCH i-g-t v4 05/11] i915/gem_ctx_*: better document i915 context tests
Kamil Konieczny
kamil.konieczny at linux.intel.com
Thu May 25 19:55:17 UTC 2023
Hi Mauro,
On 2023-05-25 at 11:05:29 +0200, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab at kernel.org>
>
> Merge data from some ancillary internal documentation to improve
> i915 gem_ctx test descriptions.
>
> This patch was auto-generated via script.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab at kernel.org>
> ---
> tests/i915/gem_ctx_bad_destroy.c | 4 ++
> tests/i915/gem_ctx_create.c | 22 +++++-
> tests/i915/gem_ctx_engines.c | 4 ++
> tests/i915/gem_ctx_exec.c | 28 +++++++-
> tests/i915/gem_ctx_freq.c | 4 ++
> tests/i915/gem_ctx_isolation.c | 38 ++++++++++-
> tests/i915/gem_ctx_param.c | 76 +++++++++++++++++++++
> tests/i915/gem_ctx_persistence.c | 112 +++++++++++++++++++++++++++++++
> tests/i915/gem_ctx_shared.c | 37 +++++++++-
> 9 files changed, 321 insertions(+), 4 deletions(-)
>
> diff --git a/tests/i915/gem_ctx_bad_destroy.c b/tests/i915/gem_ctx_bad_destroy.c
> index 90495da8ab2e..8c47e7c1cb67 100644
> --- a/tests/i915/gem_ctx_bad_destroy.c
> +++ b/tests/i915/gem_ctx_bad_destroy.c
> @@ -36,9 +36,13 @@
>
> /**
> * TEST: gem ctx bad destroy
> + * Category: Infrastructure
> * Description: Negative test cases for destroy contexts.
> * Feature: context
> + * Functionality: context management
> * Run type: FULL
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: double-destroy
> *
> diff --git a/tests/i915/gem_ctx_create.c b/tests/i915/gem_ctx_create.c
> index 0c65027bc838..95e219482de6 100644
> --- a/tests/i915/gem_ctx_create.c
> +++ b/tests/i915/gem_ctx_create.c
> @@ -38,70 +38,90 @@
> /**
> * TEST: gem ctx create
> * Description: Test the context create ioctls
> - * Feature: context
> *
> * SUBTEST: active
> * Description:
> * For each engine calculate the average performance of context creation execution and
> * exercise context reclaim
> + * Feature: context
> * Run type: FULL
> *
> * SUBTEST: active-all
> * Description: Calculate the average performance of context creation and it's execution using all engines
> + * Feature: context
> * Run type: FULL
> *
> * SUBTEST: basic
> + * Category: Infrastructure
> * Description: Test random context creation
> + * Feature: context
> + * Functionality: context management
> * Run type: BAT
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: basic-files
> + * Category: Infrastructure
> * Description: Exercise implicit per-fd context creation
> + * Feature: context
> + * Functionality: context management
> * Run type: BAT
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: ext-param
> * Description: Verify valid and invalid context extensions
> + * Feature: context
> * Run type: FULL
> *
> * SUBTEST: files
> * Description: Exercise implicit per-fd context creation on 1 CPU for long duration
> + * Feature: context
> * Run type: FULL
> *
> * SUBTEST: forked-active
> * Description:
> * For each engine calculate the average performance of context creation and execution on
> * multiple parallel processes
> + * Feature: context
> * Run type: FULL
> *
> * SUBTEST: forked-active-all
> * Description:
> * Calculate the average performance of context creation and it's execution using all engines
> * on multiple parallel processes
> + * Feature: context
> * Run type: FULL
> *
> * SUBTEST: forked-files
> * Description: Exercise implicit per-fd context creation on all CPUs for long duration
> + * Feature: context
> * Run type: FULL
> *
> * SUBTEST: hog
> * Description:
> * For each engine calculate the average performance of context creation and execution while
> * all other engines are hogging the resources
> + * Feature: context
> * Run type: FULL
> *
> * SUBTEST: iris-pipeline
> * Description: Set, validate and execute particular context params
> + * Feature: context
> * Run type: FULL
> *
> * SUBTEST: maximum-mem
> * Description:
> * Create contexts upto available RAM size, calculate the average performance of their
> * execution on multiple parallel processes
> + * Feature: context
> * Run type: FULL
> *
> * SUBTEST: maximum-swap
> * Description:
> * Create contexts upto available RAM+SWAP size, calculate the average performance of their
> * execution on multiple parallel processes
> + * Feature: context
> * Run type: FULL
> */
>
> diff --git a/tests/i915/gem_ctx_engines.c b/tests/i915/gem_ctx_engines.c
> index d15a7b7e5f67..61718494e86a 100644
> --- a/tests/i915/gem_ctx_engines.c
> +++ b/tests/i915/gem_ctx_engines.c
> @@ -45,8 +45,12 @@
> #include "sw_sync.h"
> /**
> * TEST: gem ctx engines
> + * Category: Infrastructure
> * Feature: context
> + * Functionality: context management
> * Run type: FULL
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: execute-allforone
> *
> diff --git a/tests/i915/gem_ctx_exec.c b/tests/i915/gem_ctx_exec.c
> index 9fec2bb10fdf..bd6671ec8d90 100644
> --- a/tests/i915/gem_ctx_exec.c
> +++ b/tests/i915/gem_ctx_exec.c
> @@ -50,34 +50,60 @@
> /**
> * TEST: gem ctx exec
> * Description: Test context batch buffer execution.
> - * Feature: context
> *
> * SUBTEST: basic
> + * Category: Infrastructure
> * Description: Check the basic context batch buffer execution.
> + * Feature: context
> + * Functionality: command submission
> * Run type: BAT
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: basic-close-race
> + * Category: Infrastructure
> * Description: Race the execution and interrupt handlers along a context, while closing it at a random time.
> + * Feature: context
> + * Functionality: command submission
> * Run type: FULL
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: basic-invalid-context
> + * Category: Infrastructure
> * Description: Verify that execbuf with invalid context fails.
> + * Feature: context
> + * Functionality: command submission
> * Run type: FULL
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: basic-nohangcheck
> + * Category: Server
> * Description: Verify that contexts are automatically shotdown on close, if hangchecking is disabled.
> + * Feature: context
> + * Functionality: command submission
> * Run type: FULL
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: basic-norecovery
> + * Category: Server
> * Description: Check the status of context after a hang by setting and unsetting the RECOVERABLE.
> + * Feature: context
> + * Functionality: command submission
> * Run type: FULL
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: eviction
> * Description: Check maximum number of buffers it can evict for a context.
> + * Feature: context
> * Run type: FULL
> *
> * SUBTEST: reset-pin-leak
> * Description: Check if the kernel doesn't leak the vma pin_count for the last context on reset.
> + * Feature: context
> * Run type: FULL
> */
>
> diff --git a/tests/i915/gem_ctx_freq.c b/tests/i915/gem_ctx_freq.c
> index 8e432cbdf8f5..2c30934daa23 100644
> --- a/tests/i915/gem_ctx_freq.c
> +++ b/tests/i915/gem_ctx_freq.c
> @@ -36,8 +36,12 @@
> #include "sw_sync.h"
> /**
> * TEST: gem ctx freq
> + * Category: Server
> * Feature: context
> + * Functionality: frequency management
> * Run type: FULL
> + * Sub-category: Performance
> + * Test category: GEM_Legacy
> *
> * SUBTEST: sysfs
> */
> diff --git a/tests/i915/gem_ctx_isolation.c b/tests/i915/gem_ctx_isolation.c
> index 2c2da296d301..d50a90597e6f 100644
> --- a/tests/i915/gem_ctx_isolation.c
> +++ b/tests/i915/gem_ctx_isolation.c
> @@ -28,26 +28,62 @@
> #include "igt_types.h"
> /**
> * TEST: gem ctx isolation
> - * Feature: context
> * Run type: FULL
> *
> * SUBTEST: clean
> + * Category: Infrastructure
> + * Feature: context
> + * Functionality: security
> + * Sub-category: HW
> + * Test category: GEM_Legacy
> *
> * SUBTEST: dirty-create
> + * Category: Infrastructure
> + * Feature: context
> + * Functionality: security
> + * Sub-category: HW
> + * Test category: GEM_Legacy
> *
> * SUBTEST: dirty-switch
> + * Category: Infrastructure
> + * Feature: context
> + * Functionality: security
> + * Sub-category: HW
> + * Test category: GEM_Legacy
> *
> * SUBTEST: nonpriv
> + * Category: Infrastructure
> + * Feature: context
> + * Functionality: security
> + * Sub-category: HW
> + * Test category: GEM_Legacy
> *
> * SUBTEST: nonpriv-switch
> + * Category: Infrastructure
> + * Feature: context
> + * Functionality: security
> + * Sub-category: HW
> + * Test category: GEM_Legacy
> *
> * SUBTEST: preservation
> + * Category: Infrastructure
> + * Feature: context
> + * Functionality: security
> + * Sub-category: HW
> + * Test category: GEM_Legacy
> *
> * SUBTEST: preservation-S3
> + * Feature: context
No other fields here?
> *
> * SUBTEST: preservation-S4
> + * Feature: context
Same here, imho we can correct that later.
Reviewed-by: Kamil Konieczny <kamil.konieczny at linux.intel.com>
--
Kamil
> *
> * SUBTEST: preservation-reset
> + * Category: Infrastructure
> + * Feature: context
> + * Functionality: security
> + * Sub-category: HW
> + * Test category: GEM_Legacy
> */
>
> /* MAX_REG must be greater than the maximum register address. */
> diff --git a/tests/i915/gem_ctx_param.c b/tests/i915/gem_ctx_param.c
> index 5e56c645572b..7c59fe3ed0db 100644
> --- a/tests/i915/gem_ctx_param.c
> +++ b/tests/i915/gem_ctx_param.c
> @@ -36,71 +36,139 @@
> * Run type: FULL
> *
> * SUBTEST: basic
> + * Category: Infrastructure
> * Description: Basic test for context get/set param ioctls using valid context
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: basic-default
> + * Category: Infrastructure
> * Description: Basic test for context get/set param ioctls using default context
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: get-priority-new-ctx
> + * Category: Infrastructure
> * Description:
> * Test performed with context param set to priority.
> * Verify that priority is default for newly created context
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: invalid-ctx-get
> + * Category: Infrastructure
> * Description: Verify that context get param ioctl using invalid context returns relevant error
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: invalid-ctx-set
> + * Category: Infrastructure
> * Description: Verify that context set param ioctl using invalid context returns relevant error
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: invalid-get-engines
> + * Category: Infrastructure
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: invalid-get-no-zeromap
> + * Category: Infrastructure
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: invalid-get-ringsize
> + * Category: Infrastructure
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: invalid-param-get
> + * Category: Infrastructure
> * Description: Checks that fetching context parameters using an unused param value is erroneous
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: invalid-param-set
> + * Category: Infrastructure
> * Description: Checks that setting context parameters using an unused param value is erroneous
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: invalid-set-no-zeromap
> + * Category: Infrastructure
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: invalid-set-ringsize
> + * Category: Infrastructure
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: invalid-size-get
> + * Category: Infrastructure
> * Description: Verify that context get param ioctl returns valid size for valid context
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: invalid-size-set
> + * Category: Infrastructure
> * Description: Verify that context set param ioctl using invalid size returns relevant error
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: non-root-set
> + * Category: Infrastructure
> * Description: Verify that context set param ioctl returns relevant error in non root mode
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: root-set
> + * Category: Infrastructure
> * Description: Verify that context set param ioctl works fine in root mode
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: set-priority-invalid-size
> + * Category: Infrastructure
> * Description:
> * Test performed with context param set to priority.
> * Verify that relevant error is returned on setting invalid ctx size with default priority
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: set-priority-not-supported
> * Description:
> @@ -109,14 +177,22 @@
> * Feature: context, no-set-priority
> *
> * SUBTEST: set-priority-range
> + * Category: Infrastructure
> * Description:
> * Test performed with context param set to priority.
> * Change priority range to test value overflow
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> *
> * SUBTEST: vm
> + * Category: Infrastructure
> * Description: Tests that multiple contexts can share the same VMA
> * Feature: context
> + * Functionality: context management
> + * Sub-category: i915
> + * Test category: GEM_Legacy
> */
>
> IGT_TEST_DESCRIPTION("Basic test for context set/get param input validation.");
> diff --git a/tests/i915/gem_ctx_persistence.c b/tests/i915/gem_ctx_persistence.c
> index 42cf9632989e..584137db4546 100644
> --- a/tests/i915/gem_ctx_persistence.c
> +++ b/tests/i915/gem_ctx_persistence.c
> @@ -51,68 +51,180 @@
> * Run type: FULL
> *
> * SUBTEST: engines-cleanup
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: engines-hang
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: engines-hostile
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: engines-hostile-preempt
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: engines-mixed
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: engines-mixed-process
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: engines-persistence
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: engines-queued
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: file
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: hang
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: heartbeat-close
> *
> * SUBTEST: heartbeat-hang
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: heartbeat-hostile
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: heartbeat-many
> *
> * SUBTEST: heartbeat-stop
> *
> * SUBTEST: hostile
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: idempotent
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: legacy-engines-cleanup
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: legacy-engines-hang
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: legacy-engines-hostile
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: legacy-engines-hostile-preempt
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: legacy-engines-mixed
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: legacy-engines-mixed-process
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: legacy-engines-persistence
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: legacy-engines-queued
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: many-contexts
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: process
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: processes
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: saturated-hostile
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: saturated-hostile-nopreempt
> *
> * SUBTEST: smoketest
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> *
> * SUBTEST: userptr
> + * Category: Server
> + * Functionality: security
> + * Sub-category: Compute
> + * Test category: GEM_Legacy
> */
>
> #define RESET_TIMEOUT_MS 2 * MSEC_PER_SEC; /* default: 640ms */
> diff --git a/tests/i915/gem_ctx_shared.c b/tests/i915/gem_ctx_shared.c
> index 98827f09f9ea..ede6db13b265 100644
> --- a/tests/i915/gem_ctx_shared.c
> +++ b/tests/i915/gem_ctx_shared.c
> @@ -50,36 +50,71 @@
> /**
> * TEST: gem ctx shared
> * Description: Test shared contexts.
> - * Feature: context
> * Run type: FULL
> *
> * SUBTEST: Q-in-order
> + * Feature: context
> *
> * SUBTEST: Q-independent
> + * Feature: context
> *
> * SUBTEST: Q-out-order
> + * Feature: context
> *
> * SUBTEST: Q-promotion
> + * Feature: context
> *
> * SUBTEST: Q-smoketest
> + * Feature: context
> *
> * SUBTEST: Q-smoketest-all
> + * Feature: context
> *
> * SUBTEST: create-shared-gtt
> + * Category: Desktop client
> + * Feature: context
> + * Functionality: context management
> + * Sub-category: Media
> + * Test category: GEM_Legacy
> *
> * SUBTEST: detached-shared-gtt
> + * Category: Desktop client
> + * Feature: context
> + * Functionality: context management
> + * Sub-category: Media
> + * Test category: GEM_Legacy
> *
> * SUBTEST: disjoint-timelines
> + * Category: Desktop client
> + * Feature: context
> + * Functionality: context management
> + * Sub-category: Media
> + * Test category: GEM_Legacy
> *
> * SUBTEST: exec-shared-gtt
> + * Category: Desktop client
> + * Feature: context
> + * Functionality: context management
> + * Sub-category: Media
> + * Test category: GEM_Legacy
> *
> * SUBTEST: exec-single-timeline
> + * Category: Desktop client
> + * Feature: context
> + * Functionality: context management
> + * Test category: GEM_Legacy
> *
> * SUBTEST: exhaust-shared-gtt
> + * Feature: context
> *
> * SUBTEST: exhaust-shared-gtt-lrc
> + * Feature: context
> *
> * SUBTEST: single-timeline
> + * Category: Desktop client
> + * Feature: context
> + * Functionality: context management
> + * Test category: GEM_Legacy
> */
>
> #define LO 0
> --
> 2.40.1
>
More information about the igt-dev
mailing list