Kconfig.iosched 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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 the default disk scheduler. It is
  17. generally a good choice for most environments, but is quite large and
  18. complex when compared to the deadline I/O scheduler, it can also be
  19. slower in some cases 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. choice
  37. prompt "Default I/O scheduler"
  38. default DEFAULT_CFQ
  39. help
  40. Select the I/O scheduler which will be used by default for all
  41. block devices.
  42. config DEFAULT_AS
  43. bool "Anticipatory" if IOSCHED_AS=y
  44. config DEFAULT_DEADLINE
  45. bool "Deadline" if IOSCHED_DEADLINE=y
  46. config DEFAULT_CFQ
  47. bool "CFQ" if IOSCHED_CFQ=y
  48. config DEFAULT_NOOP
  49. bool "No-op"
  50. endchoice
  51. config DEFAULT_IOSCHED
  52. string
  53. default "anticipatory" if DEFAULT_AS
  54. default "deadline" if DEFAULT_DEADLINE
  55. default "cfq" if DEFAULT_CFQ
  56. default "noop" if DEFAULT_NOOP
  57. endmenu
  58. endif