Hi,

I want to play with BFQ.

My base is block-next as of 28-Apr-2017.

First I looked through the Kconfigs.
What is a good setting?
Built as module?

How can I switch the IO-scheduler - real-time?

Not sure if the attached patches make sense (right now).

Please comment.


Kind Regards,
- Sedat -
From 7d922302a3af8934da46e8fc04d256025d8ddb27 Mon Sep 17 00:00:00 2001
From: Sedat Dilek <sedat.di...@gmail.com>
Date: Tue, 2 May 2017 09:31:37 +0200
Subject: [PATCH] block: bfq: Move CONFIG_IOSCHED_BFQ and
 CONFIG_BFQ_GROUP_IOSCHED

---
 block/Kconfig.iosched | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/block/Kconfig.iosched b/block/Kconfig.iosched
index fd2cefa47d35..8ea2c8d77100 100644
--- a/block/Kconfig.iosched
+++ b/block/Kconfig.iosched
@@ -39,6 +39,26 @@ config CFQ_GROUP_IOSCHED
 	---help---
 	  Enable group IO scheduling in CFQ.
 
+config IOSCHED_BFQ
+        tristate "BFQ I/O scheduler"
+        default n
+        ---help---
+        BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of
+        of the device among all processes according to their weights,
+        regardless of the device parameters and with any workload. It
+        also guarantees a low latency to interactive and soft
+        real-time applications.  Details in
+        Documentation/block/bfq-iosched.txt
+
+config BFQ_GROUP_IOSCHED
+       bool "BFQ hierarchical scheduling support"
+       depends on IOSCHED_BFQ && BLK_CGROUP
+       default n
+       ---help---
+
+       Enable hierarchical scheduling in BFQ, using the blkio
+       (cgroups-v1) or io (cgroups-v2) controller.
+
 choice
 
 	prompt "Default I/O scheduler"
@@ -79,26 +99,6 @@ config MQ_IOSCHED_KYBER
 	  synchronous writes, it will self-tune queue depths to achieve that
 	  goal.
 
-config IOSCHED_BFQ
-	tristate "BFQ I/O scheduler"
-	default n
-	---help---
-	BFQ I/O scheduler for BLK-MQ. BFQ distributes the bandwidth of
-	of the device among all processes according to their weights,
-	regardless of the device parameters and with any workload. It
-	also guarantees a low latency to interactive and soft
-	real-time applications.  Details in
-	Documentation/block/bfq-iosched.txt
-
-config BFQ_GROUP_IOSCHED
-       bool "BFQ hierarchical scheduling support"
-       depends on IOSCHED_BFQ && BLK_CGROUP
-       default n
-       ---help---
-
-       Enable hierarchical scheduling in BFQ, using the blkio
-       (cgroups-v1) or io (cgroups-v2) controller.
-
 endmenu
 
 endif
-- 
2.11.0

From da3379424fc0237d5de25e946ed5482a625aaac2 Mon Sep 17 00:00:00 2001
From: Sedat Dilek <sedat.di...@gmail.com>
Date: Tue, 2 May 2017 09:33:27 +0200
Subject: [PATCH] block: bfq: Introduce DEFAULT_BFQ

---
 block/Kconfig.iosched | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/block/Kconfig.iosched b/block/Kconfig.iosched
index 8ea2c8d77100..f37455dcf381 100644
--- a/block/Kconfig.iosched
+++ b/block/Kconfig.iosched
@@ -73,6 +73,9 @@ choice
 	config DEFAULT_CFQ
 		bool "CFQ" if IOSCHED_CFQ=y
 
+	config DEFAULT_BFQ
+		bool "BFQ" if IOSCHED_BFQ=y
+
 	config DEFAULT_NOOP
 		bool "No-op"
 
@@ -82,6 +85,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
 
 config MQ_IOSCHED_DEADLINE
-- 
2.11.0

Reply via email to