blob: 2f4a7c1abbeb1d1274a5aa4012dc02c79c48effd [file]
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]+(.*)"