Kconfig.iosched 1.8 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_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. # If BLK_CGROUP is a module, CFQ has to be built as module.
  23. depends on (BLK_CGROUP=m && m) || !BLK_CGROUP || BLK_CGROUP=y
  24. default y
  25. ---help---
  26. The CFQ I/O scheduler tries to distribute bandwidth equally
  27. among all processes in the system. It should provide a fair
  28. and low latency working environment, suitable for both desktop
  29. and server systems.
  30. This is the default I/O scheduler.
  31. Note: If BLK_CGROUP=m, then CFQ can be built only as module.
  32. config CFQ_GROUP_IOSCHED
  33. bool "CFQ Group Scheduling support"
  34. depends on IOSCHED_CFQ && BLK_CGROUP
  35. default n
  36. ---help---
  37. Enable group IO scheduling in CFQ.
  38. choice
  39. prompt "Default I/O scheduler"
  40. default DEFAULT_CFQ
  41. help
  42. Select the I/O scheduler which will be used by default for all
  43. block devices.
  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 "deadline" if DEFAULT_DEADLINE
  54. default "cfq" if DEFAULT_CFQ
  55. default "noop" if DEFAULT_NOOP
  56. endmenu
  57. endif