Revision 2709781be6141798162f1089df728fb218a590df authored by Ben Dooks on 01 July 2008, 10:59:41 UTC, committed by Ben Dooks on 01 July 2008, 13:30:37 UTC
We should check for the reception of an ACK after transmitting each
data byte. The address send has been correctly checking this, but the
data write byte state should have also been checking for these failures.

As part of the same fix, we remove the ACK checking from the receive
path where it should not have been checking for an ACK which our hardware
was sending.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
1 parent e1441b9
Raw File
Kconfig.iosched
if BLOCK

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---
	  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.

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.
	  This is the default I/O scheduler.

choice
	prompt "Default I/O scheduler"
	default DEFAULT_CFQ
	help
	  Select the I/O scheduler which will be used by default for all
	  block devices.

	config DEFAULT_AS
		bool "Anticipatory" if IOSCHED_AS=y

	config DEFAULT_DEADLINE
		bool "Deadline" if IOSCHED_DEADLINE=y

	config DEFAULT_CFQ
		bool "CFQ" if IOSCHED_CFQ=y

	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

endmenu

endif
back to top