Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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 <jens.axboe@oracle.com>
parent 6a0afdf5
Loading
Loading
Loading
Loading
+4 −18
Original line number Diff line number Diff line
@@ -12,24 +12,14 @@ config IOSCHED_NOOP
	  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.
	  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.

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

	config DEFAULT_AS
		bool "Anticipatory" if IOSCHED_AS=y

	config DEFAULT_DEADLINE
		bool "Deadline" if IOSCHED_DEADLINE=y

@@ -63,7 +50,6 @@ 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
+0 −1
Original line number Diff line number Diff line
@@ -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

block/as-iosched.c

deleted100644 → 0
+0 −1520

File deleted.

Preview size limit exceeded, changes collapsed.

+2 −8
Original line number Diff line number Diff line
@@ -154,9 +154,6 @@ static struct elevator_type *elevator_get(const char *name)

		spin_unlock(&elv_list_lock);

		if (!strcmp(name, "anticipatory"))
			sprintf(elv, "as-iosched");
		else
		sprintf(elv, "%s-iosched", name);

		request_module("%s", elv);
@@ -193,9 +190,6 @@ 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");
	else
	strncpy(chosen_elevator, str, sizeof(chosen_elevator) - 1);
	return 1;
}