| common: |
| 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_em |
| harness_config: |
| type: one_line |
| record: |
| regex: "(?P<metric>.*):(?P<cycles>.*) cycles ,(?P<nanoseconds>.*) ns" |
| regex: |
| - "PROJECT EXECUTION SUCCESSFUL" |
| |
| |
| benchmark.kernel.latency.objcore.stats: |
| # 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_em |
| extra_configs: |
| - CONFIG_OBJ_CORE=y |
| - CONFIG_OBJ_CORE_STATS=y |
| harness_config: |
| type: one_line |
| record: |
| regex: "(?P<metric>.*):(?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<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<cycles>.*) cycles ,(?P<nanoseconds>.*) ns" |
| regex: |
| - "PROJECT EXECUTION SUCCESSFUL" |
| |
| # Obtain the benchmark results with object core statistics enabled for |
| # various user thread / kernel thread configurations on platforms that |
| # support user space |
| benchmark.kernel.latency.userspace.objcore.stats: |
| filter: CONFIG_ARCH_HAS_USERSPACE |
| timeout: 300 |
| harness: console |
| integration_platforms: |
| - qemu_x86 |
| - qemu_cortex_a53 |
| extra_configs: |
| - CONFIG_USERSPACE=y |
| - CONFIG_OBJ_CORE=y |
| - CONFIG_OBJ_CORE_STATS=y |
| harness_config: |
| type: one_line |
| record: |
| regex: "(?P<metric>.*):(?P<cycles>.*) cycles ,(?P<nanoseconds>.*) ns" |
| regex: |
| - "PROJECT EXECUTION SUCCESSFUL" |
| |
| # Obtain the various kernel benchmark results with time slicing enabled |
| benchmark.kernel.latency.timeslicing: |
| # 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_em |
| extra_configs: |
| - CONFIG_TIMESLICING=y |
| harness_config: |
| type: one_line |
| record: |
| regex: "(?P<metric>.*):(?P<cycles>.*) cycles ,(?P<nanoseconds>.*) ns" |
| regex: |
| - "PROJECT EXECUTION SUCCESSFUL" |
| |
| # Obtain the various userspace benchmark results with timeslicing enabled |
| benchmark.kernel.latency.timeslicing.userspace: |
| filter: CONFIG_ARCH_HAS_USERSPACE |
| timeout: 300 |
| harness: console |
| integration_platforms: |
| - qemu_x86 |
| - qemu_cortex_a53 |
| extra_configs: |
| - CONFIG_USERSPACE=y |
| - CONFIG_TIMESLICING=y |
| harness_config: |
| type: one_line |
| record: |
| regex: "(?P<metric>.*):(?P<cycles>.*) cycles ,(?P<nanoseconds>.*) ns" |
| regex: |
| - "PROJECT EXECUTION SUCCESSFUL" |