zephyr/subsys/rtio/Kconfig.workq
Luis Ubieda b0caaed43b rtio: workq: Restructure workqueue as a threads pool with a queue
Based on a discussion around P4WQ limitations for our application, it
was determined that the RTIO workqueue required the ability to use
additional threads from the pool in spite of work items blocked.
Since this is not covered, nor desired for the P4WQ, then remove this
dependency and re-implement it in a way that covers also this use-case.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-07-08 18:35:26 -05:00

39 lines
1.0 KiB
Plaintext

# Copyright (c) 2024 Croxel Inc.
# SPDX-License-Identifier: Apache-2.0
config RTIO_WORKQ
bool "RTIO Work-queues service to process Sync operations"
select RTIO_CONSUME_SEM
help
Enable RTIO Work-queues to allow processing synchronous operations
in an asynchronous non-blocking fashion.
if RTIO_WORKQ
config RTIO_WORKQ_THREADS_POOL_PRIO
int "Priority of RTIO Workqueue Threads Pool"
default MAIN_THREAD_PRIORITY
config RTIO_WORKQ_THREADS_POOL_STACK_SIZE
int "Priority of RTIO Workqueue Threads Pool"
default 1024
config RTIO_WORKQ_STACK_SIZE
int "Thread stack-size of RTIO Workqueues"
default 2048
config RTIO_WORKQ_THREADS_POOL
int "Number of threads to use for processing work-items"
default 2 if SPI_RTIO || I2C_RTIO || I3C_RTIO
default 1
config RTIO_WORKQ_POOL_ITEMS
int "Pool of work items to use with the RTIO Work-queues"
default 4
help
Configure the Pool of work items appropriately to your
application, the more simultaneous requests you expect
to issue, the bigger this pool should be.
endif # RTIO_WORKQ