Linux debugging

Check our new training course

Linux debugging, tracing, profiling & perf. analysis

Check our new training course
with Creative Commons CC-BY-SA
lecture and lab materials

Bootlin logo

Elixir Cross Referencer

# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

choice LOG_MODE
	prompt "Mode"
	default LOG_MODE_DEFERRED

config LOG_MODE_DEFERRED
	bool "Deferred logging"
	select MPSC_PBUF
	help
	  Log messages are buffered and processed later. This mode has the
	  least impact on the application. Time consuming processing is
	  deferred to the known context.

config LOG2_MODE_DEFERRED
	bool "Deferred logging v2"
	select MPSC_PBUF
	select LOG2

config LOG2_MODE_IMMEDIATE
	bool "Synchronous v2"
	select LOG2
	select MPSC_PBUF
	help
	  When enabled log is processed in the context of the call. It impacts
	  performance of the system since time consuming operations are
	  performed in the context of the log entry (e.g. high priority
	  interrupt).Logger backends must support exclusive access to work
	  flawlessly in that mode because one log operation can be interrupted
	  by another one in the higher priority context.

config LOG_MODE_IMMEDIATE
	bool "Synchronous"
	select MPSC_PBUF
	help
	  When enabled log is processed in the context of the call. It impacts
	  performance of the system since time consuming operations are
	  performed in the context of the log entry (e.g. high priority
	  interrupt).Logger backends must support exclusive access to work
	  flawlessly in that mode because one log operation can be interrupted
	  by another one in the higher priority context.


config LOG_MODE_MINIMAL
	bool "Minimal-footprint"
	imply PRINTK
	help
	  Enable minimal logging implementation. This has very little footprint
	  overhead on top of the printk() implementation for standard
	  logging macros. Hexdump macros are also supported, with a small
	  amount of code pulled in if used. Build time filtering is supported,
	  but not runtime filtering. There are no timestamps, prefixes,
	  colors, or asynchronous logging, and all messages are simply
	  sent to printk().

config LOG_FRONTEND
	bool "Frontend"
	help
	  When enabled, logs are redirected to a custom frontend instead
	  of being processed by the logger. In this mode runtime filtering and
	  multiple backends are not used.

endchoice

config LOG2
	bool

config LOG_IMMEDIATE
	bool
	default y if LOG_MODE_IMMEDIATE
	default y if LOG2_MODE_IMMEDIATE

config LOG_MINIMAL
	bool
	imply PRINTK
	default y if LOG_MODE_MINIMAL