Kconfig.iosched 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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_AS
  13. tristate "Anticipatory I/O scheduler"
  14. default y
  15. ---help---
  16. The anticipatory I/O scheduler is generally a good choice for most
  17. environments, but is quite large and complex when compared to the
  18. deadline I/O scheduler, it can also be slower in some cases
  19. especially some database loads.
  20. config IOSCHED_DEADLINE
  21. tristate "Deadline I/O scheduler"
  22. default y
  23. ---help---
  24. The deadline I/O scheduler is simple and compact, and is often as
  25. good as the anticipatory I/O scheduler, and in some database
  26. workloads, better. In the case of a single process performing I/O to
  27. a disk at any one time, its behaviour is almost identical to the
  28. anticipatory I/O scheduler and so is a good choice.
  29. config IOSCHED_CFQ
  30. tristate "CFQ I/O scheduler"
  31. default y
  32. ---help---
  33. The CFQ I/O scheduler tries to distribute bandwidth equally
  34. among all processes in the system. It should provide a fair
  35. working environment, suitable for desktop systems.
  36. This is the default I/O scheduler.
  37. choice
  38. prompt "Default I/O scheduler"
  39. default DEFAULT_CFQ
  40. help
  41. Select the I/O scheduler which will be used by default for all
  42. block devices.
  43. config DEFAULT_AS
  44. bool "Anticipatory" if IOSCHED_AS=y
  45. config DEFAULT_DEADLINE
  46. bool "Deadline" if IOSCHED_DEADLINE=y
  47. config DEFAULT_CFQ
  48. bool "CFQ" if IOSCHED_CFQ=y
  49. config DEFAULT_NOOP
  50. bool "No-op"
  51. endchoice
  52. config DEFAULT_IOSCHED
  53. string
  54. default "anticipatory" if DEFAULT_AS
  55. default "deadline" if DEFAULT_DEADLINE
  56. default "cfq" if DEFAULT_CFQ
  57. default "noop" if DEFAULT_NOOP
  58. endmenu
  59. endif