Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Zephyr trace dma #4866

Merged
merged 2 commits into from
Oct 26, 2021
Merged

Zephyr trace dma #4866

merged 2 commits into from
Oct 26, 2021

Commits on Oct 13, 2021

  1. trace: move CONFIG_TRACEM implementation up a couple levels

    From deep down trace.c:va_tracelog() up to the _log_message() level.
    
    Also rename va_tracelog() to the more specific dma_tracelog()
    
    Preparation to support the DMA trace in Zephyr.
    
    The only functional change in this commit is that DMA messages copied to
    the shared memory are not de-duplicated any more (a.k.a "adaptive rate
    limiting" or CONFIG_TRACE_FILTERING_ADAPTIVE). These are generally
    supposed to be high level hence rare enough; otherwise there is probably
    a "bigger problem".
    
    Signed-off-by: Marc Herbert <[email protected]>
    marc-hb authored and lyakh committed Oct 13, 2021
    Configuration menu
    Copy the full SHA
    b15d09b View commit details
    Browse the repository at this point in the history
  2. trace: add _log_nodict() and enable DMA trace for Zephyr

    As of July 2021 we support (too) many tracing options and this
    duplication is unfortunately the only way I found to support them all
    while giving the compiler the opportunity to optimize away as many
    strings as possible.
    
    Supported configurations:
    
    - Systems with limited memory and zero space for full strings, must use
      SOF dictionary only.
    - Systems with enough space for all strings to be in memory.
    - Anything in between
    
    - Support to duplicate only important message to both the DMA and the
      mailbox (the default)
    - CONFIG_TRACEM: supports duplicating ALL messages to both the DMA and
      the mailbox
    - CONFIG_TRACEV: supports deleting verbose statements at compile time to
      save space
    - CONFIG_TRACE: support turning off all traces at compile-time
    
    - SOF dict trace de-duplication a.k.a. "adaptive filtering"
    
    - Dynamic log levels per component
    
    - Redirection to Zephyr's shared memory tracing that requires full strings.
    
    Signed-off-by: Marc Herbert <[email protected]>
    marc-hb authored and lyakh committed Oct 13, 2021
    Configuration menu
    Copy the full SHA
    03cbc33 View commit details
    Browse the repository at this point in the history