[PATCH i-g-t] tests/amdgpu: move bad mem compute test to amd deadlock
Kamil Konieczny
kamil.konieczny at linux.intel.com
Mon Aug 5 10:08:17 UTC 2024
Hi Jesse,
On 2024-08-05 at 14:52:18 +0800, Jesse Zhang wrote:
> 1. remove duplicate test case.
> 2. Since the bad memory test only has page faults
> and does not trigger job timeouts on mi300.
> So temporarily moved this test to amd deadlock.
>
> Signed-off-by: Jesse Zhang <jesse.zhang at amd.com>
> ---
> tests/amdgpu/amd_deadlock.c | 9 +++++++++
> tests/amdgpu/amd_queue_reset.c | 11 +----------
amd_queue_reset was reverted, please prepare new version with
your changes, also see note about subtests naming convetion
below.
> 2 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/tests/amdgpu/amd_deadlock.c b/tests/amdgpu/amd_deadlock.c
> index 01185bfd3..6996855cb 100644
> --- a/tests/amdgpu/amd_deadlock.c
> +++ b/tests/amdgpu/amd_deadlock.c
> @@ -94,6 +94,15 @@ igt_main
> }
> }
>
> + igt_describe("Test-GPU-reset-by-access-compute-illegal-mem-addr");
> + igt_subtest_with_dynamic("amdgpu-compute-illegal-mem-access") {
Why dynamic here? Dynamic tests are used for not-known number/names
for its dynamic sub-subtests, not whe you do have static number of
them.
> + if (arr_cap[AMD_IP_COMPUTE]) {
> + igt_dynamic_f("amdgpu-illegal-mem-access")
Do not do such if(...) dynamic-name,
imho better skip:
igt_subtest("amdgpu-compute-illegal-mem-access") {
igt_skip_on_f(!arr_cap[AMD_IP_COMPUTE], "message why skipping\n");
bad_access_helper(device, CMD_STREAM_TRANS_BAD_MEM_ADDRESS,
AMDGPU_HW_IP_COMPUTE);
}
> + bad_access_helper(device, CMD_STREAM_TRANS_BAD_MEM_ADDRESS,
> + AMDGPU_HW_IP_COMPUTE);
> + }
> + }
> +
> igt_describe("Test-GPU-reset-by-flooding-compute-ring-with-jobs");
> igt_subtest_with_dynamic("amdgpu-deadlock-compute") {
> if (arr_cap[AMD_IP_COMPUTE]) {
> diff --git a/tests/amdgpu/amd_queue_reset.c b/tests/amdgpu/amd_queue_reset.c
> index fb05aee35..df96c9f76 100644
> --- a/tests/amdgpu/amd_queue_reset.c
> +++ b/tests/amdgpu/amd_queue_reset.c
> @@ -893,7 +893,6 @@ igt_main
> unsigned int arr_err[] = {
> CMD_STREAM_EXEC_INVALID_PACKET_LENGTH,
> CMD_STREAM_EXEC_INVALID_OPCODE,
> - CMD_STREAM_TRANS_BAD_MEM_ADDRESS,
> //CMD_STREAM_TRANS_BAD_MEM_ADDRESS_BY_SYNC,TODO not job timeout, debug why for n31
> //CMD_STREAM_TRANS_BAD_REG_ADDRESS, TODO amdgpu: device lost from bus! for n31
> BACKEND_SE_GC_SHADER_INVALID_PROGRAM_ADDR,
> @@ -975,14 +974,6 @@ igt_main
> }
> }
>
> - igt_describe("Stressful-and-multiple-cs-of-bad and good mem-operations-using-multiple-processes");
> - igt_subtest_with_dynamic("amdgpu-compute-CMD_STREAM_TRANS_BAD_MEM_ADDRESS") {
> - if (arr_cap[ip_test] && get_next_rings(ring_id_good, info.available_rings, &ring_id_good, &ring_id_bad)) {
> - igt_dynamic_f("amdgpu-compute-CMD_STREAM_TRANS_BAD_MEM_ADDRESS")
You cannot just repeat a name in a dynamic subtest, each name
should be uniqe, I would suggest to rename it to something like:
char name[32];
fill_in_name(name, sizeof(name) - 1, ring_id_good, ring_id_bad);
igt_dynamic_f(name);
So dynamic subtests should have dynamic names, not a static ones.
Regards,
Kamil
> - set_next_test_to_run(sh_mem, CMD_STREAM_TRANS_BAD_MEM_ADDRESS,
> - ip_background, ip_test, ring_id_good, ring_id_bad);
> - }
> - }
> /* TODO not job timeout, debug why for nv32
> *igt_describe("Stressful-and-multiple-cs-of-bad and good mem-sync-operations-using-multiple-processes");
> *igt_subtest_with_dynamic("amdgpu-compute-CMD_STREAM_TRANS_BAD_MEM_ADDRESS_BY_SYNC") {
> @@ -997,7 +988,7 @@ igt_main
> *igt_describe("Stressful-and-multiple-cs-of-bad and good reg-operations-using-multiple-processes");
> *igt_subtest_with_dynamic("amdgpu-compute-CMD_STREAM_TRANS_BAD_REG_ADDRESS") {
> * if (arr_cap[ip_test] && get_next_rings(ring_id_good, info.available_rings, &ring_id_good, &ring_id_bad)) {
> - * igt_dynamic_f("amdgpu-compute-CMD_STREAM_TRANS_BAD_MEM_ADDRESS_BY_SYNC")
> + * igt_dynamic_f("amdgpu-compute-CMD_STREAM_TRANS_BAD_MEM_ADDRESS")
> * set_next_test_to_run(sh_mem, CMD_STREAM_TRANS_BAD_REG_ADDRESS,
> * ip_background, ip_test, ring_id_good, ring_id_bad);
> * }
> --
> 2.25.1
>
More information about the igt-dev
mailing list