diff --git a/tests/benchmarks/latency_measure/boards/qemu_riscv64_qemu_virt_riscv64_smp.conf b/tests/benchmarks/latency_measure/boards/qemu_riscv64_qemu_virt_riscv64_smp.conf new file mode 100644 index 00000000000..86ff477b398 --- /dev/null +++ b/tests/benchmarks/latency_measure/boards/qemu_riscv64_qemu_virt_riscv64_smp.conf @@ -0,0 +1,4 @@ +CONFIG_MP_MAX_NUM_CPUS=8 + +# To support the amount of thread objects in userspace +CONFIG_MAX_THREAD_BYTES=3 diff --git a/tests/benchmarks/latency_measure/src/main.c b/tests/benchmarks/latency_measure/src/main.c index be345c1dddf..8c492bc1f14 100644 --- a/tests/benchmarks/latency_measure/src/main.c +++ b/tests/benchmarks/latency_measure/src/main.c @@ -36,7 +36,7 @@ struct k_thread busy_thread[CONFIG_MP_MAX_NUM_CPUS - 1]; #define BUSY_THREAD_STACK_SIZE (1024 + CONFIG_TEST_EXTRA_STACK_SIZE) -K_THREAD_STACK_DEFINE(busy_thread_stack, BUSY_THREAD_STACK_SIZE); +K_THREAD_STACK_ARRAY_DEFINE(busy_thread_stack, CONFIG_MP_MAX_NUM_CPUS - 1, BUSY_THREAD_STACK_SIZE); #endif struct k_thread start_thread; @@ -88,7 +88,7 @@ static void test_thread(void *arg1, void *arg2, void *arg3) /* Spawn busy threads that will execute on the other cores */ for (uint32_t i = 0; i < CONFIG_MP_MAX_NUM_CPUS - 1; i++) { - k_thread_create(&busy_thread[i], &busy_thread_stack[i], + k_thread_create(&busy_thread[i], busy_thread_stack[i], BUSY_THREAD_STACK_SIZE, busy_thread_entry, NULL, NULL, NULL, K_HIGHEST_THREAD_PRIO, 0, K_NO_WAIT); diff --git a/tests/benchmarks/latency_measure/testcase.yaml b/tests/benchmarks/latency_measure/testcase.yaml index b64dbc4ce7a..d58c8aa3bce 100644 --- a/tests/benchmarks/latency_measure/testcase.yaml +++ b/tests/benchmarks/latency_measure/testcase.yaml @@ -13,6 +13,7 @@ tests: integration_platforms: - qemu_x86 - qemu_arc/qemu_arc_em + - qemu_riscv64/qemu_virt_riscv64/smp harness_config: type: one_line record: