Blame view

block/Kconfig.iosched 2.71 KB
b24413180   Greg Kroah-Hartman   License cleanup: ...
1
  # SPDX-License-Identifier: GPL-2.0
9361401eb   David Howells   [PATCH] BLOCK: Ma...
2
  if BLOCK
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
3
4
5
6
7
8
9
10
11
12
13
14
  
  menu "IO Schedulers"
  
  config IOSCHED_NOOP
  	bool
  	default y
  	---help---
  	  The no-op I/O scheduler is a minimal scheduler that does basic merging
  	  and sorting. Its main uses include non-disk based block devices like
  	  memory devices, and specialised software or hardware environments
  	  that do their own scheduling and require only minimal assistance from
  	  the kernel.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
15
16
17
18
  config IOSCHED_DEADLINE
  	tristate "Deadline I/O scheduler"
  	default y
  	---help---
492af6350   Jens Axboe   block: remove the...
19
20
21
22
  	  The deadline I/O scheduler is simple and compact. It will provide
  	  CSCAN service with FIFO expiration of requests, switching to
  	  a new point in the service tree and doing a batch of IO from there
  	  in case of expiry.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
23
24
25
26
27
28
29
  
  config IOSCHED_CFQ
  	tristate "CFQ I/O scheduler"
  	default y
  	---help---
  	  The CFQ I/O scheduler tries to distribute bandwidth equally
  	  among all processes in the system. It should provide a fair
08dc8726d   Jens Axboe   block: CFQ is mor...
30
31
  	  and low latency working environment, suitable for both desktop
  	  and server systems.
a8e14b950   Jesper Juhl   update I/O sched ...
32
  	  This is the default I/O scheduler.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
33

25bc6b077   Vivek Goyal   blkio: Introduce ...
34
35
  config CFQ_GROUP_IOSCHED
  	bool "CFQ Group Scheduling support"
afc24d49c   Vivek Goyal   blk-cgroup: confi...
36
  	depends on IOSCHED_CFQ && BLK_CGROUP
25bc6b077   Vivek Goyal   blkio: Introduce ...
37
38
39
  	default n
  	---help---
  	  Enable group IO scheduling in CFQ.
131dda7f8   Nate Diller   [PATCH] block cle...
40
  choice
e21b7a0b9   Arianna Avanzini   block, bfq: add f...
41

131dda7f8   Nate Diller   [PATCH] block cle...
42
  	prompt "Default I/O scheduler"
b17fd9bce   Jens Axboe   [PATCH] Make CFQ ...
43
  	default DEFAULT_CFQ
131dda7f8   Nate Diller   [PATCH] block cle...
44
45
46
  	help
  	  Select the I/O scheduler which will be used by default for all
  	  block devices.
131dda7f8   Nate Diller   [PATCH] block cle...
47
  	config DEFAULT_DEADLINE
c6ea2ba7b   Jens Axboe   [BLOCK] iosched: ...
48
  		bool "Deadline" if IOSCHED_DEADLINE=y
131dda7f8   Nate Diller   [PATCH] block cle...
49
50
  
  	config DEFAULT_CFQ
c6ea2ba7b   Jens Axboe   [BLOCK] iosched: ...
51
  		bool "CFQ" if IOSCHED_CFQ=y
131dda7f8   Nate Diller   [PATCH] block cle...
52
53
54
55
56
57
58
59
  
  	config DEFAULT_NOOP
  		bool "No-op"
  
  endchoice
  
  config DEFAULT_IOSCHED
  	string
131dda7f8   Nate Diller   [PATCH] block cle...
60
61
62
  	default "deadline" if DEFAULT_DEADLINE
  	default "cfq" if DEFAULT_CFQ
  	default "noop" if DEFAULT_NOOP
d34849913   Jens Axboe   blk-mq-sched: all...
63
64
65
66
67
  config MQ_IOSCHED_DEADLINE
  	tristate "MQ deadline I/O scheduler"
  	default y
  	---help---
  	  MQ version of the deadline IO scheduler.
00e043936   Omar Sandoval   blk-mq: introduce...
68
69
70
71
72
73
74
75
  config MQ_IOSCHED_KYBER
  	tristate "Kyber I/O scheduler"
  	default y
  	---help---
  	  The Kyber I/O scheduler is a low-overhead scheduler suitable for
  	  multiqueue and other fast devices. Given target latencies for reads and
  	  synchronous writes, it will self-tune queue depths to achieve that
  	  goal.
aee69d78d   Paolo Valente   block, bfq: intro...
76
77
78
79
80
81
82
83
84
85
  config IOSCHED_BFQ
  	tristate "BFQ I/O scheduler"
  	default n
  	---help---
  	BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of
  	of the device among all processes according to their weights,
  	regardless of the device parameters and with any workload. It
  	also guarantees a low latency to interactive and soft
  	real-time applications.  Details in
  	Documentation/block/bfq-iosched.txt
e21b7a0b9   Arianna Avanzini   block, bfq: add f...
86
87
88
89
90
91
92
93
  config BFQ_GROUP_IOSCHED
         bool "BFQ hierarchical scheduling support"
         depends on IOSCHED_BFQ && BLK_CGROUP
         default n
         ---help---
  
         Enable hierarchical scheduling in BFQ, using the blkio
         (cgroups-v1) or io (cgroups-v2) controller.
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
94
  endmenu
9361401eb   David Howells   [PATCH] BLOCK: Ma...
95
96
  
  endif