Kconfig.iosched 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. if BLOCK
  2. menu "IO Schedulers"
  3. config IOSCHED_NOOP
  4. bool
  5. default y
  6. ---help---
  7. The no-op I/O scheduler is a minimal scheduler that does basic merging
  8. and sorting. Its main uses include non-disk based block devices like
  9. memory devices, and specialised software or hardware environments
  10. that do their own scheduling and require only minimal assistance from
  11. the kernel.
  12. config IOSCHED_DEADLINE
  13. tristate "Deadline I/O scheduler"
  14. default y
  15. ---help---
  16. The deadline I/O scheduler is simple and compact. It will provide
  17. CSCAN service with FIFO expiration of requests, switching to
  18. a new point in the service tree and doing a batch of IO from there
  19. in case of expiry.
  20. config IOSCHED_CFQ
  21. tristate "CFQ I/O scheduler"
  22. default y
  23. ---help---
  24. The CFQ I/O scheduler tries to distribute bandwidth equally
  25. among all processes in the system. It should provide a fair
  26. working environment, suitable for desktop systems.
  27. This is the default I/O scheduler.
  28. choice
  29. prompt "Default I/O scheduler"
  30. default DEFAULT_CFQ
  31. help
  32. Select the I/O scheduler which will be used by default for all
  33. block devices.
  34. config DEFAULT_DEADLINE
  35. bool "Deadline" if IOSCHED_DEADLINE=y
  36. config DEFAULT_CFQ
  37. bool "CFQ" if IOSCHED_CFQ=y
  38. config DEFAULT_NOOP
  39. bool "No-op"
  40. endchoice
  41. config DEFAULT_IOSCHED
  42. string
  43. default "deadline" if DEFAULT_DEADLINE
  44. default "cfq" if DEFAULT_CFQ
  45. default "noop" if DEFAULT_NOOP
  46. endmenu
  47. endif