Comtrol eCos User Manual

Page 101

Advertising
background image

Kernel Real-time Characterization

Initialize alarm

This test measures the

cyg_alarm_initialize()

call. Each alarm is initialized to a small value.

Disable alarm

This test measures the

cyg_alarm_disable()

call. Each alarm is explicitly disabled.

Enable alarm

This test measures the

cyg_alarm_enable()

call. Each alarm is explicitly enabled.

Delete alarm

This test measures the

cyg_alarm_delete()

call. Each alarm is destroyed. The purpose of this test is to

measure the cost of deleting an alarm and removing it from the system.

Tick counter [1 alarm]

This test measures the

cyg_counter_tick()

call. A counter is created that has a single alarm attached to it.

The purpose of this test is to measure the cost of “ticking” a counter when it has a single attached alarm. In
this test, the alarm is not activated (fired).

Tick counter [many alarms]

This test measures the

cyg_counter_tick()

call. A counter is created that has multiple alarms attached to

it. The purpose of this test is to measure the cost of “ticking” a counter when it has many attached alarms. In
this test, the alarms are not activated (fired).

Tick & fire counter [1 alarm]

This test measures the

cyg_counter_tick()

call. A counter is created that has a single alarm attached to it.

The purpose of this test is to measure the cost of “ticking” a counter when it has a single attached alarm. In
this test, the alarm is activated (fired). Thus the measured time will include the overhead of calling the alarm
callback function.

Tick & fire counter [many alarms]

This test measures the

cyg_counter_tick()

call. A counter is created that has multiple alarms attached to

it. The purpose of this test is to measure the cost of “ticking” a counter when it has many attached alarms.
In this test, the alarms are activated (fired). Thus the measured time will include the overhead of calling the
alarm callback function.

Alarm latency [0 threads]

This test attempts to measure the latency in calling an alarm callback function. The time from the clock
interrupt until the alarm function is called is measured. In this test, there are no threads that can be run, other
than the system idle thread, when the clock interrupt occurs (all threads are suspended).

Alarm latency [2 threads]

This test attempts to measure the latency in calling an alarm callback function. The time from the clock inter-
rupt until the alarm function is called is measured. In this test, there are exactly two threads which are running
when the clock interrupt occurs. They are simply passing back and forth by way of the

cyg_thread_yield()

call. The purpose of this test is to measure the variations in the latency when there are executing threads.

101

Advertising