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

Commit cd60efef authored by Paolo Valente's avatar Paolo Valente Committed by Razziell
Browse files

block: cgroups, kconfig, build bits for BFQ-v7r8-3.18.0



Update Kconfig.iosched and do the related Makefile changes to include
kernel configuration options for BFQ. Also add the bfqio controller
to the cgroups subsystem.

Change-Id: I835d5a6e916a32953af513489b347856eec3a9df
Signed-off-by: default avatarPaolo Valente <paolo.valente@unimore.it>
Signed-off-by: default avatarArianna Avanzini <avanzini.arianna@gmail.com>
Signed-off-by: default avatarAlbert I <krascgq@outlook.co.id>
parent 12b7f6ed
Loading
Loading
Loading
Loading
+32 −1
Original line number Diff line number Diff line
@@ -82,6 +82,27 @@ config IOSCHED_FIOPS
	  IOPS equally among all processes in the system. It's mainly for
	  Flash based storage.

config IOSCHED_BFQ
	tristate "BFQ I/O scheduler"
	default n
	---help---
	  The BFQ I/O scheduler tries to distribute bandwidth among
	  all processes according to their weights.
	  It aims at distributing the bandwidth as desired, independently of
	  the disk parameters and with any workload. It also tries to
	  guarantee low latency to interactive and soft real-time
	  applications. If compiled built-in (saying Y here), BFQ can
	  be configured to support hierarchical scheduling.

config CGROUP_BFQIO
	bool "BFQ hierarchical scheduling support"
	depends on CGROUPS && IOSCHED_BFQ=y
	default n
	---help---
	  Enable hierarchical scheduling in BFQ, using the cgroups
	  filesystem interface.  The name of the subsystem will be
	  bfqio.

choice
	prompt "Default I/O scheduler"
	default DEFAULT_CFQ
@@ -95,13 +116,22 @@ choice
	config DEFAULT_CFQ
		bool "CFQ" if IOSCHED_CFQ=y

	config DEFAULT_BFQ
		bool "BFQ" if IOSCHED_BFQ=y
		help
		  Selects BFQ as the default I/O scheduler which will be
		  used by default for all block devices.
		  The BFQ I/O scheduler aims at distributing the bandwidth
		  as desired, independently of the disk parameters and with
		  any workload. It also tries to guarantee low latency to
		  interactive and soft real-time applications.

	config DEFAULT_NOOP
		bool "No-op"

	config DEFAULT_SIOPLUS
		bool "SIOPLUS" if IOSCHED_SIOPLUS=y


	config DEFAULT_ZEN
		bool "ZEN" if IOSCHED_ZEN=y

@@ -117,6 +147,7 @@ config DEFAULT_IOSCHED
	string
	default "deadline" if DEFAULT_DEADLINE
	default "cfq" if DEFAULT_CFQ
	default "bfq" if DEFAULT_BFQ
	default "noop" if DEFAULT_NOOP
	default "sioplus" if DEFAULT_SIOPLUS
	default "zen" if DEFAULT_ZEN
+1 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ obj-$(CONFIG_BLK_DEV_THROTTLING) += blk-throttle.o
obj-$(CONFIG_IOSCHED_NOOP)	+= noop-iosched.o
obj-$(CONFIG_IOSCHED_DEADLINE)	+= deadline-iosched.o
obj-$(CONFIG_IOSCHED_CFQ)	+= cfq-iosched.o
obj-$(CONFIG_IOSCHED_BFQ)	+= bfq-iosched.o
obj-$(CONFIG_IOSCHED_TEST)	+= test-iosched.o
obj-$(CONFIG_IOSCHED_ZEN)	+= zen-iosched.o
obj-$(CONFIG_IOSCHED_FIFO)	+= fifo-iosched.o
+4 −0
Original line number Diff line number Diff line
@@ -23,6 +23,10 @@ SUBSYS(schedtune)
SUBSYS(blkio)
#endif

#if IS_ENABLED(CONFIG_CGROUP_BFQIO)
SUBSYS(bfqio)
#endif

#if IS_ENABLED(CONFIG_MEMCG)
SUBSYS(memory)
#endif