Benchmarks are not tests, we run them to verify they still work and do not bitrot. Running them on each architecture should be sufficient. This reduces amount of churn in CI and still allows them to be run individually on platforms. Signed-off-by: Anas Nashif <anas.nashif@intel.com>
80 lines
2.4 KiB
YAML
80 lines
2.4 KiB
YAML
common:
|
|
platform_key:
|
|
- arch
|
|
tags:
|
|
- kernel
|
|
- benchmark
|
|
tests:
|
|
benchmark.kernel.latency:
|
|
# FIXME: no DWT and no RTC_TIMER for qemu_cortex_m0
|
|
platform_exclude:
|
|
- qemu_cortex_m0
|
|
- m2gl025_miv
|
|
filter: CONFIG_PRINTK and not CONFIG_SOC_FAMILY_STM32
|
|
harness: console
|
|
integration_platforms:
|
|
- qemu_x86
|
|
- qemu_arc/qemu_arc_em
|
|
- qemu_riscv64/qemu_virt_riscv64/smp
|
|
harness_config:
|
|
type: one_line
|
|
record:
|
|
regex: "(?P<metric>.*) - (?P<description>.*):(?P<cycles>.*) cycles ,(?P<nanoseconds>.*) ns"
|
|
regex:
|
|
- "PROJECT EXECUTION SUCCESSFUL"
|
|
|
|
# Cortex-M has 24bit systick, so default 1 TICK per seconds
|
|
# is achievable only if frequency is below 0x00FFFFFF (around 16MHz)
|
|
# 20 Ticks per secondes allows a frequency up to 335544300Hz (335MHz)
|
|
benchmark.kernel.latency.stm32:
|
|
arch_allow: arm
|
|
filter: CONFIG_PRINTK and CONFIG_SOC_FAMILY_STM32
|
|
extra_configs:
|
|
- CONFIG_SYS_CLOCK_TICKS_PER_SEC=20
|
|
harness: console
|
|
harness_config:
|
|
type: one_line
|
|
record:
|
|
regex: "(?P<metric>.*) - (?P<description>.*):(?P<cycles>.*) cycles ,(?P<nanoseconds>.*) ns"
|
|
regex:
|
|
- "PROJECT EXECUTION SUCCESSFUL"
|
|
|
|
# Obtain the benchmark results for various user thread / kernel thread
|
|
# configurations on platforms that support user space.
|
|
benchmark.kernel.latency.userspace:
|
|
filter: CONFIG_ARCH_HAS_USERSPACE
|
|
timeout: 300
|
|
extra_configs:
|
|
- CONFIG_USERSPACE=y
|
|
harness: console
|
|
integration_platforms:
|
|
- qemu_x86
|
|
- qemu_cortex_a53
|
|
harness_config:
|
|
type: one_line
|
|
record:
|
|
regex: "(?P<metric>.*) - (?P<description>.*):(?P<cycles>.*) cycles ,(?P<nanoseconds>.*) ns"
|
|
regex:
|
|
- "PROJECT EXECUTION SUCCESSFUL"
|
|
|
|
benchmark.kernel.latency.objcore:
|
|
# FIXME: no DWT and no RTC_TIMER for qemu_cortex_m0
|
|
platform_exclude:
|
|
- qemu_cortex_m0
|
|
- m2gl025_miv
|
|
filter: CONFIG_PRINTK and not CONFIG_SOC_FAMILY_STM32
|
|
timeout: 300
|
|
extra_configs:
|
|
- CONFIG_OBJ_CORE=y
|
|
- CONFIG_OBJ_CORE_STATS=y
|
|
harness: console
|
|
integration_platforms:
|
|
- qemu_x86
|
|
- qemu_arc/qemu_arc_em
|
|
- qemu_riscv64/qemu_virt_riscv64/smp
|
|
harness_config:
|
|
type: one_line
|
|
record:
|
|
regex: "(?P<metric>.*) - (?P<description>.*):(?P<cycles>.*) cycles ,(?P<nanoseconds>.*) ns"
|
|
regex:
|
|
- "PROJECT EXECUTION SUCCESSFUL"
|