# Copyright (c) 2022 Intel Corporation # SPDX-License-Identifier: Apache-2.0 menuconfig RTIO bool "RTIO" if RTIO config RTIO_EXECUTOR_SIMPLE bool "A simple executor for RTIO" default y help An simple RTIO executor that will execute a queue of requested I/O operations as if they are a single chain of submission queue entries. This does not support concurrent chains or submissions. config RTIO_EXECUTOR_CONCURRENT bool "A low cost concurrent executor for RTIO" default y help A low memory cost RTIO executor that will execute a queue of requested I/O with a fixed amount of concurrency using minimal memory overhead. config RTIO_SUBMIT_SEM bool "Use a semaphore when waiting for completions in rtio_submit" help When calling rtio_submit a semaphore is available to sleep the calling thread for each completion queue event until the wait count is met. This adds a small RAM overhead for a single semaphore. By default wait_for will use polling on the completion queue with a k_yield() in between iterations. config RTIO_CONSUME_SEM bool "Use a semaphore when waiting for completions in rtio_cqe_consume_block" help When calling rtio_cqe_consume_block a semaphore is available to sleep the calling thread for each completion queue event until the wait count is met. This adds a small RAM overhead for a single semaphore. By default the call will use polling on the completion queue with a k_yield() in between iterations. config RTIO_SYS_MEM_BLOCKS bool "Include system memory blocks as an optional backing read memory pool" select SYS_MEM_BLOCKS help Enable the RTIO_DEFINE_WITH_MEMPOOL macro which allows queueing reads without a pre-allocated memory buffer. Instead the buffer will be taken from the allocated memory pool associated with the RTIO context. module = RTIO module-str = RTIO module-help = Sets log level for RTIO support source "subsys/logging/Kconfig.template.log_config" endif