eCosTM Reference Manual
Prev | Chapter 17. Package: eCos kernel | Next

# Component: Kernel instrumentation

#### Macro name

CYGPKG_KERNEL_INSTRUMENT

#### Type

Boolean

#### Description

The current release of the kernel contains an initial version of instrumentation support. The various parts of the kernel will invoke instrumentation routines whenever appropriate events occur, and these will be stored in a circular buffer for later reference.

## Option: Size of instrumentation buffer size

#### Macro name

CYGNUM_KERNEL_INSTRUMENT_BUFFER_SIZE

#### Type

Count

#### Description

If kernel instrumentation is enabled then the instrumentation data goes into a circular buffer. A larger buffer allows more data to be stored, but at a significant cost in memory. The value of this option corresponds to the number of entries in the table, and typically each entry will require 16 bytes of memory.

## Option: Perform selective instrumentation

#### Macro name

CYGDBG_KERNEL_INSTRUMENT_FLAGS

#### Type

Boolean

#### Description

The kernel can either collect all instrumentation events, or it can filter out events at runtime based on a set of flags. For example it would be possible to decide at runtime that only scheduler and interrupt instrumentation flags are of interest and that all other flags should be ignored. This flag mechanism involves extra code and processor cycle overhead in the instrumentation code, so it can be disabled if the application developer is interested in all instrumentation events.

## Option: Instrument the scheduler

#### Macro name

CYGDBG_KERNEL_INSTRUMENT_SCHED

#### Type

Boolean

#### Description

It is possible to perform selective instrumentation at run-time. It is also possible to disable instrumentation in various kernel components at compile-time, thus reducing the code size overheads. This option controls whether or not instrumentation support is compiled into the scheduling code.

## Option: Instrument thread operations

#### Macro name

CYGDBG_KERNEL_INSTRUMENT_THREAD

#### Type

Boolean

#### Description

It is possible to perform selective instrumentation at run-time. It is also possible to disable instrumentation in various kernel components at compile-time, thus reducing the code size overheads. This option controls whether or not instrumentation support is compiled into the code that manipulates threads.

## Option: Instrument interrupts

#### Macro name

CYGDBG_KERNEL_INSTRUMENT_INTR

#### Type

Boolean

#### Description

It is possible to perform selective instrumentation at run-time. It is also possible to disable instrumentation in various kernel components at compile-time, thus reducing the code size overheads. This option controls whether or not instrumentation support is compiled into the interrupt handling code.

## Option: Instrument mutex operations

#### Macro name

CYGDBG_KERNEL_INSTRUMENT_MUTEX

#### Type

Boolean

#### Description

It is possible to perform selective instrumentation at run-time. It is also possible to disable instrumentation in various kernel components at compile-time, thus reducing the code size overheads. This option controls whether or not instrumentation support is compiled into the mutex code.

## Option: Instrument condition variable operations

#### Macro name

CYGDBG_KERNEL_INSTRUMENT_CONDVAR

#### Type

Boolean

#### Description

It is possible to perform selective instrumentation at run-time. It is also possible to disable instrumentation in various kernel components at compile-time, thus reducing the code size overheads. This option controls whether or not instrumentation support is compiled into the condition variable code.

## Option: Instrument binary semaphore operations

#### Macro name

CYGDBG_KERNEL_INSTRUMENT_BINSEM

#### Type

Boolean

#### Description

It is possible to perform selective instrumentation at run-time. It is also possible to disable instrumentation in various kernel components at compile-time, thus reducing the code size overheads. This option controls whether or not instrumentation support is compiled into the binary semaphore code.

## Option: Instrument counting semaphore operations

#### Macro name

CYGDBG_KERNEL_INSTRUMENT_CNTSEM

#### Type

Boolean

#### Description

It is possible to perform selective instrumentation at run-time. It is also possible to disable instrumentation in various kernel components at compile-time, thus reducing the code size overheads. This option controls whether or not instrumentation support is compiled into the counting semaphore code.

## Option: Instrument message box operations

#### Macro name

CYGDBG_KERNEL_INSTRUMENT_MBOXT

#### Type

Boolean

#### Description

It is possible to perform selective instrumentation at run-time. It is also possible to disable instrumentation in various kernel components at compile-time, thus reducing the code size overheads. This option controls whether or not instrumentation support is compiled into the message box code.

## Option: Instrument clock operations

#### Macro name

CYGDBG_KERNEL_INSTRUMENT_CLOCK

#### Type

Boolean

#### Description

It is possible to perform selective instrumentation at run-time. It is also possible to disable instrumentation in various kernel components at compile-time, thus reducing the code size overheads. This option controls whether or not instrumentation support is compiled into the real-time clock code.

## Option: Instrument alarm-related operations

#### Macro name

CYGDBG_KERNEL_INSTRUMENT_ALARM

#### Type

Boolean

#### Description

It is possible to perform selective instrumentation at run-time. It is also possible to disable instrumentation in various kernel components at compile-time, thus reducing the code size overheads. This option controls whether or not instrumentation support is compiled into the code related to alarm operations.

## Option: Support application-level instrumentation

#### Macro name

CYGDBG_KERNEL_INSTRUMENT_USER

#### Type

Boolean

#### Description

It is possible to perform selective instrumentation at run-time. It is also possible to disable instrumentation in various kernel components at compile-time, thus reducing the code size overheads. This option controls whether or not application-level instrumentation gets compiled in.

Prev | Home | Next
Component: Synchronization primitives | Up | Component: Memory allocators