| 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]+(.*)" |