common: platform_key: - arch tags: - kernel - benchmark # Native platforms excluded as they are not relevant: These benchmarks run some kernel primitives # in a loop during a predefined time counting how many times they execute. But in the POSIX arch, # time does not pass while the CPU executes. So the benchmark just appears as if hung. arch_exclude: - posix # some slow qemu_* excluded platform_exclude: - qemu_malta/qemu_malta - qemu_malta/qemu_malta/be integration_platforms: - qemu_x86_64 - qemu_cortex_a53/qemu_cortex_a53/smp timeout: 300 filter: CONFIG_SMP and CONFIG_MP_MAX_NUM_CPUS > 1 harness: console tests: benchmark.ipi_metric.preemptive.broadcast: extra_configs: - CONFIG_IPI_METRIC_PREEMPTIVE=y - CONFIG_IPI_OPTIMIZE=n harness_config: type: multi_line ordered: true regex: # Collect at least 3 measurements for each benchmark: - "(.*) IPI-Metric(.+) Elapsed Time:[ ]*[0-9]+(.*)" - "(.*)Preemptive Counter Total:[ ]*[0-9]+(.*)" - "(.*)IPI Count:[ ]*[0-9]+(.*)" - "(.*)Total Work:[ ]*[0-9]+(.*)" - "(.*) IPI-Metric(.+) Elapsed Time:[ ]*[0-9]+(.*)" - "(.*)Preemptive Counter Total:[ ]*[0-9]+(.*)" - "(.*)IPI Count:[ ]*[0-9]+(.*)" - "(.*)Total Work:[ ]*[0-9]+(.*)" - "(.*) IPI-Metric(.+) Elapsed Time:[ ]*[0-9]+(.*)" - "(.*)Preemptive Counter Total:[ ]*[0-9]+(.*)" - "(.*)IPI Count:[ ]*[0-9]+(.*)" - "(.*)Total Work:[ ]*[0-9]+(.*)" benchmark.ipi_metric.preemptive.optimize: extra_configs: - CONFIG_IPI_METRIC_PREEMPTIVE=y - CONFIG_IPI_OPTIMIZE=y filter: ARCH_HAS_DIRECTED_IPIS harness_config: type: multi_line ordered: true regex: # Collect at least 3 measurements for each benchmark: - "(.*) IPI-Metric(.+) Elapsed Time:[ ]*[0-9]+(.*)" - "(.*)Preemptive Counter Total:[ ]*[0-9]+(.*)" - "(.*)IPI Count:[ ]*[0-9]+(.*)" - "(.*)Total Work:[ ]*[0-9]+(.*)" - "(.*) IPI-Metric(.+) Elapsed Time:[ ]*[0-9]+(.*)" - "(.*)Preemptive Counter Total:[ ]*[0-9]+(.*)" - "(.*)IPI Count:[ ]*[0-9]+(.*)" - "(.*)Total Work:[ ]*[0-9]+(.*)" - "(.*) IPI-Metric(.+) Elapsed Time:[ ]*[0-9]+(.*)" - "(.*)Preemptive Counter Total:[ ]*[0-9]+(.*)" - "(.*)IPI Count:[ ]*[0-9]+(.*)" - "(.*)Total Work:[ ]*[0-9]+(.*)" benchmark.ipi_metric.primitive.broadcast: extra_configs: - CONFIG_IPI_METRIC_PRIMITIVE_BROADCAST=y harness_config: type: multi_line ordered: true regex: # Collect at least 3 measurements for each benchmark: - "(.*) IPI-Metric(.+) Elapsed Time:[ ]*[0-9]+(.*)" - "(.*)Schedule IPIs Issued:[ ]*[0-9]+(.*)" - "(.*)Total Work:[ ]*[0-9]+(.*)" - "(.*) IPI-Metric(.+) Elapsed Time:[ ]*[0-9]+(.*)" - "(.*)Schedule IPIs Issued:[ ]*[0-9]+(.*)" - "(.*)Total Work:[ ]*[0-9]+(.*)" - "(.*) IPI-Metric(.+) Elapsed Time:[ ]*[0-9]+(.*)" - "(.*)Schedule IPIs Issued:[ ]*[0-9]+(.*)" - "(.*)Total Work:[ ]*[0-9]+(.*)" benchmark.ipi_metric.primitive.directed: extra_configs: - CONFIG_IPI_METRIC_PRIMITIVE_DIRECTED=y filter: ARCH_HAS_DIRECTED_IPIS harness_config: type: multi_line ordered: true regex: # Collect at least 3 measurements for each benchmark: - "(.*) IPI-Metric(.+) Elapsed Time:[ ]*[0-9]+(.*)" - "(.*)Schedule IPIs Issued:[ ]*[0-9]+(.*)" - "(.*)Total Work:[ ]*[0-9]+(.*)" - "(.*) IPI-Metric(.+) Elapsed Time:[ ]*[0-9]+(.*)" - "(.*)Schedule IPIs Issued:[ ]*[0-9]+(.*)" - "(.*)Total Work:[ ]*[0-9]+(.*)" - "(.*) IPI-Metric(.+) Elapsed Time:[ ]*[0-9]+(.*)" - "(.*)Schedule IPIs Issued:[ ]*[0-9]+(.*)" - "(.*)Total Work:[ ]*[0-9]+(.*)"