| # |
| # For a description of the syntax of this configuration file, |
| # see the file kconfig-language.txt in the NuttX tools repository. |
| # |
| |
| config FS_AIO |
| bool "Asynchronous I/O support" |
| default n |
| depends on SCHED_WORKQUEUE |
| ---help--- |
| Enable support for aynchronous I/O. This selection enables the |
| interfaces declared in include/aio.h. |
| |
| if FS_AIO |
| |
| config FS_NAIOC |
| int "Pre-allocated AIO containers" |
| default 8 |
| ---help--- |
| The AIO containers hold an AIO control block and appends information |
| needed by the logic running within the RTOS. These structures are |
| pre-allocated, the number pre-allocated controlled by this setting. |
| |
| This setting controls the number of asynchronous I/O operations that |
| can be queued at one time. When this count is exhausted, the caller |
| of aio_read(), aio_write(), or aio_fsync() will be forced to wait |
| for an available container. That wait is minimized because each |
| container is released prior to starting the next I/O. |
| |
| The AIO logic includes priority inheritance logic to prevent |
| priority inversion problems: The priority of the low-priority work |
| queue will be boosted, if necessary, to level of the waiting thread. |
| |
| endif |