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