Kconfig.iosched 1.92 KB
Newer Older
1
if BLOCK
Linus Torvalds's avatar
Linus Torvalds committed
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

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.

config IOSCHED_AS
	tristate "Anticipatory I/O scheduler"
	default y
	---help---
19 20 21 22
	  The anticipatory I/O scheduler is generally a good choice for most
	  environments, but is quite large and complex when compared to the
	  deadline I/O scheduler, it can also be slower in some cases
	  especially some database loads.
Linus Torvalds's avatar
Linus Torvalds committed
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

config IOSCHED_DEADLINE
	tristate "Deadline I/O scheduler"
	default y
	---help---
	  The deadline I/O scheduler is simple and compact, and is often as
	  good as the anticipatory I/O scheduler, and in some database
	  workloads, better. In the case of a single process performing I/O to
	  a disk at any one time, its behaviour is almost identical to the
	  anticipatory I/O scheduler and so is a good choice.

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
	  working environment, suitable for desktop systems.
41
	  This is the default I/O scheduler.
Linus Torvalds's avatar
Linus Torvalds committed
42

43 44
choice
	prompt "Default I/O scheduler"
45
	default DEFAULT_CFQ
46 47 48 49 50
	help
	  Select the I/O scheduler which will be used by default for all
	  block devices.

	config DEFAULT_AS
51
		bool "Anticipatory" if IOSCHED_AS=y
52 53

	config DEFAULT_DEADLINE
54
		bool "Deadline" if IOSCHED_DEADLINE=y
55 56

	config DEFAULT_CFQ
57
		bool "CFQ" if IOSCHED_CFQ=y
58 59 60 61 62 63 64 65 66 67 68 69 70

	config DEFAULT_NOOP
		bool "No-op"

endchoice

config DEFAULT_IOSCHED
	string
	default "anticipatory" if DEFAULT_AS
	default "deadline" if DEFAULT_DEADLINE
	default "cfq" if DEFAULT_CFQ
	default "noop" if DEFAULT_NOOP

Linus Torvalds's avatar
Linus Torvalds committed
71
endmenu
72 73

endif