CONFIG_PERCEPIO_RECORDER_TRC_CFG_ISR_TAILCHAINING_THRESHOLD_SNAPSHOT

ISR Tailchaining Threshold

Type: int

Help

If tracing multiple ISRs, this setting allows for accurate display of the
            context-switching also in cases when the ISRs execute in direct sequence.

            vTraceStoreISREnd normally assumes that the ISR returns to the previous
            context, i.e., a task or a preempted ISR. But if another traced ISR
            executes in direct sequence, Tracealyzer may incorrectly display a minimal
            fragment of the previous context in between the ISRs.

            By using TRC_CFG_ISR_TAILCHAINING_THRESHOLD you can avoid this. This is
            however a threshold value that must be measured for your specific setup.
            See http://percepio.com/2014/03/21/isr_tailchaining_threshold/

            The default setting is 0, meaning "disabled" and that you may get an
            extra fragments of the previous context in between tail-chained ISRs.

Direct dependencies

PERCEPIO_TRC_RECORDER_MODE_SNAPSHOT && PERCEPIO_TRC_RECORDER_MODE_SNAPSHOT && PERCEPIO_TRACERECORDER

(Includes any dependencies from ifs and menus.)

Default

  • 0

Kconfig definition

At /home/runner/work/sdk-nrf/sdk-nrf/ncs/modules/debug/TraceRecorder/kernelports/Zephyr/Kconfig:809

Included via <Zephyr>/Kconfig:8<Zephyr>/Kconfig.zephyr:23<Zephyr>/modules/Kconfig:6<BuildDir>/kconfig/Kconfig.modules:56

Menu path: (Top) → Modules → TraceRecorder (/home/runner/work/sdk-nrf/sdk-nrf/ncs/modules/debug/TraceRecorder) → Percepio Trace Recorder → Snapshot Configuration

config PERCEPIO_RECORDER_TRC_CFG_ISR_TAILCHAINING_THRESHOLD_SNAPSHOT
    int "ISR Tailchaining Threshold"
    range 0 4194304
    default 0
    depends on PERCEPIO_TRC_RECORDER_MODE_SNAPSHOT && PERCEPIO_TRC_RECORDER_MODE_SNAPSHOT && PERCEPIO_TRACERECORDER
    help
      If tracing multiple ISRs, this setting allows for accurate display of the
                  context-switching also in cases when the ISRs execute in direct sequence.

                  vTraceStoreISREnd normally assumes that the ISR returns to the previous
                  context, i.e., a task or a preempted ISR. But if another traced ISR
                  executes in direct sequence, Tracealyzer may incorrectly display a minimal
                  fragment of the previous context in between the ISRs.

                  By using TRC_CFG_ISR_TAILCHAINING_THRESHOLD you can avoid this. This is
                  however a threshold value that must be measured for your specific setup.
                  See http://percepio.com/2014/03/21/isr_tailchaining_threshold/

                  The default setting is 0, meaning "disabled" and that you may get an
                  extra fragments of the previous context in between tail-chained ISRs.

(The ‘depends on’ condition includes propagated dependencies from ifs and menus.)