Commit 492af635 authored by Jens Axboe's avatar Jens Axboe

block: remove the anticipatory IO scheduler

AS is mostly a subset of CFQ, so there's little point in still
providing this separate IO scheduler. Hopefully at some point we
can get down to one single IO scheduler again, at least this brings
us closer by having only one intelligent IO scheduler.
Signed-off-by: default avatarJens Axboe <>
parent 6a0afdf5
......@@ -12,24 +12,14 @@ config IOSCHED_NOOP
that do their own scheduling and require only minimal assistance from
the kernel.
tristate "Anticipatory I/O scheduler"
default y
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.
tristate "Deadline I/O scheduler"
default y
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.
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.
tristate "CFQ I/O scheduler"
......@@ -47,9 +37,6 @@ choice
Select the I/O scheduler which will be used by default for all
block devices.
bool "Anticipatory" if IOSCHED_AS=y
bool "Deadline" if IOSCHED_DEADLINE=y
......@@ -63,7 +50,6 @@ endchoice
default "anticipatory" if DEFAULT_AS
default "deadline" if DEFAULT_DEADLINE
default "cfq" if DEFAULT_CFQ
default "noop" if DEFAULT_NOOP
......@@ -9,7 +9,6 @@ obj-$(CONFIG_BLOCK) := elevator.o blk-core.o blk-tag.o blk-sysfs.o \
obj-$(CONFIG_BLK_DEV_BSG) += bsg.o
obj-$(CONFIG_IOSCHED_NOOP) += noop-iosched.o
obj-$(CONFIG_IOSCHED_AS) += as-iosched.o
obj-$(CONFIG_IOSCHED_DEADLINE) += deadline-iosched.o
obj-$(CONFIG_IOSCHED_CFQ) += cfq-iosched.o
This diff is collapsed.
......@@ -154,10 +154,7 @@ static struct elevator_type *elevator_get(const char *name)
if (!strcmp(name, "anticipatory"))
sprintf(elv, "as-iosched");
sprintf(elv, "%s-iosched", name);
sprintf(elv, "%s-iosched", name);
request_module("%s", elv);
......@@ -193,10 +190,7 @@ static int __init elevator_setup(char *str)
* Be backwards-compatible with previous kernels, so users
* won't get the wrong elevator.
if (!strcmp(str, "as"))
strcpy(chosen_elevator, "anticipatory");
strncpy(chosen_elevator, str, sizeof(chosen_elevator) - 1);
strncpy(chosen_elevator, str, sizeof(chosen_elevator) - 1);
return 1;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment