History log of /seL4-camkes-master/projects/global-components/components/BenchUtiliz/src/benchUtiliz.c
Revision Date Author Comments
# b4b96a1b 14-Jul-2020 Damon Lee <Damon.Lee@data61.csiro.au>

BenchUtiliz: Move pre_init around

pre_init depends on the count_idle function, but the count_idle function
is defined after the pre_init function. This commit moves the pre_init
function so that the defintion of the count_idle function is above the
pre_init function so that the compiler won't complain.


# 9e905dcb 14-Jul-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

BenchUtiliz: Change serial output to JSON

This makes parsing the output more standardized and more extensible if
more counters are added in the future.


# 072cee69 14-Jul-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

BenchUtiliz: Add trace interface

This interface allows components to be signalled at the start and stop
of a measurement so that they can potentially record additional
information while the measurement is running.


# c16a9941 14-Jul-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

BenchUtiliz: support seL4 utilization syscalls

seL4 provides utilization benchmarking syscalls to measure and output
utilization statistics for all threads running in a system. If these
syscalls are configured, as part of idle thread measurements this
component will also start and stop seL4 utilization tracking.


# 47bf819b 14-Jul-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

BenchUtiliz: Make serial interface optional

Allow this component to be used even if the serial interface isn't
connected.


# bfc09b3f 14-Jul-2020 Kent McLeod <Kent.Mcleod@data61.csiro.au>

BenchUtiliz: Tweak measurement control process

This changes the behavior of the component so that the idle thread is
running continuously and the start and stop procedures sample values of
the idle thread's state that are continuously changing. This allows the
start and stop procedures to run on a different thread with a higher
priority and reduce the chance of measurement errors that can arise when
the idle thread gets a command to start executing, but it isn't
scheduled until partway through the measurement and records late start
times and likewise for finishing. The consequence of this change is that
when a measurement isn't being taken the idle thread will still run when
the system would otherwise be idle. We assume that a system using this
component is purpose configured for measuring idle time and doesn't care
about minimizing execution when measurements aren't being taken.


# 19fe98e5 05-May-2020 Jingyao Zhou <Jingyao.Zhou@data61.csiro.au>

global-components: New component to measure utiliz

A camkes component to measure CPU utilization. It contains an interface
that counts the operating time of itself (which should run on the lowest
priority), and a control thread to receive chars from the serial server.