History log of /seL4-l4v-master/seL4/include/arch/arm/arch/benchmark.h
Revision Date Author Comments
# 4eccea54 13-Jul-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

KernelBenchmarksTrackUtilisation: Fix for SMP

Create per-node global definitions for utilization variables.
This enables the tracking to more cleanly work on SMP configurations.
As resetting and starting the counters via SysBenchmarkResetLog only
updates the counters of the current thread and idle thread on the
current node it was not possible to accurately record utilization
statistics across multiple nodes. Now each node can have its tracking
independently started, stopped and queried. It is possible to add
additional syscalls in the future for doing this for all nodes in a
single syscall.

Signed-off-by: Kent McLeod <Kent.Mcleod@data61.csiro.au>


# d436eb86 17-May-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

Move CONFIG_ARM_ENABLE_PMU_OVERFLOW_INTERRUPT def

This definition is intended to select functionality for processing a PMU
cycle counter overflow interrupt while using the thread utilization
benchmarking feature. Instead of forcing for all Arm platforms, only set
it if KERNEL_PMU_IRQ is defined and the IRQ has been configured
properly.

The consequence of this change is that aarch64 platforms that
have a 64bit counter that is unlikely to overflow do not need an
overflow interrupt to be defined.

Signed-off-by: Kent McLeod <Kent.Mcleod@data61.csiro.au>


# 512a0200 19-Mar-2020 Qian Ge <qian.ge@data61.csiro.au>

replacing all ifndef with pargma once

All the kernel header files now use pargma once rather than the ifndef,
as the pre-processed C files do not change while header files
are protected with pargma once. This will also solve any naming issues
caused by ifndef.


# 79da0792 01-Mar-2020 Gerwin Klein <gerwin.klein@data61.csiro.au>

Convert license tags to SPDX identifiers

This commit also converts our own copyright headers to directly use
SPDX, but leaves all other copyright header intact, only adding the
SPDX ident. As far as possible this commit also merges multiple
Data61 copyright statements/headers into one for consistency.


# 18eefea9 13-Jun-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

trivial: use UINT32_MAX


# 3e0bbe82 12-Jun-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

arm: clean & consolidate pmu management code

- consolidate armv_init_ccnt into arm_init_ccnt, which is general
- move armv_handleOverflowIRQ definition to benchmark.h
(no need for extra header)
- clean up definition of armv_handleOverflowIRQ


# c090b058 12-Jun-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

arm: consolidate benchmark_arch_utilisation_reset

- Move identical definitions from armv6 and armv7 to common arm code.
- Remove excessive #ifdef guards - let the compiler throw it away if
it isn't used


# a7728128 12-Jun-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

arm: move handleOverflowIRQ to benchmark.h

Consolidate to reduce include complexity and make benchmarking features
easier to find/comprehend.


# d0930f67 18-Mar-2019 Anna Lyons <Anna.Lyons@data61.csiro.au>

style: consistently attach return type

Add attach-return-type to astyle


# e7534049 22-Nov-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Provide a general ARM timestamp function

Use SYSTEM_READ_WORD, each platform defines the CCNT constant.


# 3017f9b7 22-Nov-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Move timestamp_t definition to types.h

it was causing circular references in files where it is defined and
hardware macros are also used.


# 09358f9b 23-Jun-2016 Hesham Almatary <Hesham.Almatary@nicta.com.au>

SELFOUR-448 Benchmark: Track thread's CPU utilisation time


# bcf0a235 01-Jun-2016 Hesham Almatary <Hesham.Almatary@nicta.com.au>

SELFOUR-446 Unify code base for trace points and track feature


# fc1feb67 24-May-2016 Hesham Almatary <Hesham.Almatary@nicta.com.au>

SELFOUR-446 Benchmark: Track syscall feature

Benchmark feature that currently:
- Keeps track of system calls info
- Start time
- Duration
- Capability type
- Invocation tag
- Log the number of invocations of each system call*
- Log the number of invocations for each capability type per syscall.
- Has 3 new syscalls (dump, reset, get size).
- This new feature uses the existing log buffer (which is 1MiB for x86
and ARM). Since the number of syscall invocations is not
deterministic, the logged number of invocations is limited by the size
of the buffer. I suggested to enable the users to pass their own
user-level buffer, to enable more flexibility, later.
- ENABLE_BENCHMARKS is now a parent config option of trace points and
system call track features, they can't be used at the same time.


# e82953a1 01-Sep-2015 Stephen Sherratt <Stephen.Sherratt@nicta.com.au>

Removed CONFIG_BENCHMARK config option. All checks for '#ifdef CONFIG_BENCHMARK' replaced with '#if CONFIG_MAX_NUM_TRACE_POINTS > 0'.


# 4c2554dc 26-Aug-2015 Stephen Sherratt <Stephen.Sherratt@nicta.com.au>

Added support for using multiple tracepoints at the same time.


# 91b7da86 17-Jul-2014 TrusthworthySystems <gatekeeper@sel4.systems>

Release snapshot