tests: disable timeslicing on latency_measure

Updates the latency_measure benchmark so that its default
configuration does not enable timeslicing. As it is still
valuable to know what kind of performance overhead is
incurred by enabling timeslicing, new test configurations
have been added.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
This commit is contained in:
Peter Mitsis 2023-12-14 13:59:12 -05:00 committed by Carles Cufí
commit d84598256c
3 changed files with 44 additions and 0 deletions

View file

@ -24,3 +24,6 @@ CONFIG_TIMING_FUNCTIONS=y
CONFIG_HEAP_MEM_POOL_SIZE=2048
CONFIG_APPLICATION_DEFINED_SYSCALL=y
# Disable time slicing
CONFIG_TIMESLICING=n

View file

@ -25,3 +25,6 @@ CONFIG_TIMING_FUNCTIONS=y
CONFIG_HEAP_MEM_POOL_SIZE=2048
CONFIG_APPLICATION_DEFINED_SYSCALL=y
CONFIG_USERSPACE=y
# Disable time slicing
CONFIG_TIMESLICING=n

View file

@ -95,3 +95,41 @@ tests:
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.user.latency.timeslicing:
filter: CONFIG_ARCH_HAS_USERSPACE
timeout: 300
extra_args: CONF_FILE=prj_user.conf
harness: console
integration_platforms:
- qemu_x86
- qemu_cortex_a53
extra_configs:
- CONFIG_TIMESLICING=y
harness_config:
type: one_line
record:
regex: "(?P<metric>.*):(?P<cycles>.*) cycles ,(?P<nanoseconds>.*) ns"
regex:
- "PROJECT EXECUTION SUCCESSFUL"