Kconfig 1.2 KB

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