From 0c364c0deeeeda6ee2b8eb394f22da16cb3f04c4 Mon Sep 17 00:00:00 2001 From: Shi Jin Date: Sun, 28 Jan 2024 21:50:06 +0000 Subject: [PATCH] fabtests/efa: Add small tx size test Test msg and rma operations with tx size smaller than window size (num of in flight messages). Signed-off-by: Shi Jin --- fabtests/pytest/efa/test_rdm.py | 9 +++++++++ fabtests/pytest/efa/test_rma_bw.py | 11 +++++++++++ 2 files changed, 20 insertions(+) diff --git a/fabtests/pytest/efa/test_rdm.py b/fabtests/pytest/efa/test_rdm.py index f0688057807..9586c0950f2 100644 --- a/fabtests/pytest/efa/test_rdm.py +++ b/fabtests/pytest/efa/test_rdm.py @@ -2,6 +2,7 @@ from efa.efa_common import efa_run_client_server_test import pytest +import copy @pytest.mark.parametrize("iteration_type", @@ -56,6 +57,14 @@ def test_rdm_tagged_bw_no_inject_range(cmdline_args, completion_semantic, inject efa_run_client_server_test(cmdline_args, "fi_rdm_tagged_bw -j 0", "short", completion_semantic, "host_to_host", inject_message_size) +@pytest.mark.functional +def test_rdm_tagged_bw_small_tx(cmdline_args, completion_semantic, memory_type, completion_type): + cmdline_args_copy = copy.copy(cmdline_args) + cmdline_args_copy.append_environ("FI_EFA_TX_SIZE=64") + # Use a window size larger than tx size + efa_run_client_server_test(cmdline_args_copy, "fi_rdm_tagged_bw -W 128", "short", + completion_semantic, memory_type, "all", completion_type=completion_type) + @pytest.mark.parametrize("iteration_type", [pytest.param("short", marks=pytest.mark.short), pytest.param("standard", marks=pytest.mark.standard)]) diff --git a/fabtests/pytest/efa/test_rma_bw.py b/fabtests/pytest/efa/test_rma_bw.py index 9b22eb2a730..52ff76c3e1b 100644 --- a/fabtests/pytest/efa/test_rma_bw.py +++ b/fabtests/pytest/efa/test_rma_bw.py @@ -1,5 +1,6 @@ from efa.efa_common import efa_run_client_server_test import pytest +import copy @pytest.mark.parametrize("operation_type", ["read", "writedata", "write"]) @@ -13,6 +14,16 @@ def test_rma_bw(cmdline_args, iteration_type, operation_type, completion_semanti timeout = max(540, cmdline_args.timeout) efa_run_client_server_test(cmdline_args, command, iteration_type, completion_semantic, memory_type, "all", timeout=timeout) +@pytest.mark.parametrize("operation_type", ["read", "writedata", "write"]) +def test_rma_bw_small_tx(cmdline_args, operation_type, completion_semantic, memory_type): + cmdline_args_copy = copy.copy(cmdline_args) + cmdline_args_copy.append_environ("FI_EFA_TX_SIZE=64") + # Use a window size larger than tx size + command = "fi_rma_bw -e rdm -W 128" + command = command + " -o " + operation_type + # rma_bw test with data verification takes longer to finish + timeout = max(540, cmdline_args_copy.timeout) + efa_run_client_server_test(cmdline_args_copy, command, "short", completion_semantic, memory_type, "all", timeout=timeout) @pytest.mark.functional @pytest.mark.parametrize("operation_type", ["read", "writedata", "write"])