Re: Playing with BFQ

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 3, 2017 at 11:24 AM, Paolo Valente <paolo.valente@xxxxxxxxxx> wrote:
>
>> Il giorno 03 mag 2017, alle ore 11:16, Markus Trippelsdorf <markus@xxxxxxxxxxxxxxx> ha scritto:
>>
>> On 2017.05.03 at 10:00 +0200, Sedat Dilek wrote:
>>> On Tue, May 2, 2017 at 2:16 PM, Markus Trippelsdorf
>>> <markus@xxxxxxxxxxxxxxx> wrote:
>>>> On 2017.05.02 at 14:07 +0200, Sedat Dilek wrote:
>>>>> On Tue, May 2, 2017 at 10:00 AM, Markus Trippelsdorf
>>>>> <markus@xxxxxxxxxxxxxxx> wrote:
>>>>>> On 2017.05.02 at 09:54 +0200, Sedat Dilek wrote:
>>>>>>> Hi,
>>>>>>>
>>>>>>> I want to play with BFQ.
>>>>>>>
>>>>>>> My base is block-next as of 28-Apr-2017.
>>>>> [...]
>>>>>>> Not sure if the attached patches make sense (right now).
>>>>>>
>>>>>> No, it doesn't make sense at all.
>>>>>
>>>>> Hmm, I looked at 4.11.0-v8r11 and 0001 has exactly what my 2 patches do :-).
>>>>
>>>> BFQ started as a conventional scheduler. But because mq is the way of
>>>> the future it was ported before it was accepted into mainline.
>>>>
>>>
>>> I am still playing and want to do my own experiences with BFQ.
>>>
>>> Not sure if FIO is a good testcase-tool here.
>>>
>>> So if MQ is the way why isn't the Kconfig called CONFIG_MQ_IOSCHED_BFQ
>>> according to CONFIG_MQ_IOSCHED_DEADLINE?
>>
>> Good point. The current naming is confusing.
>>
>> Also:
>> # cat /sys/block/sda/queue/scheduler
>> mq-deadline [kyber] bfq none
>>
>> These should all be prefixed with mq-.
>>
>
> The logic here, as proposed by Jens, is not to add the mq tag when
> there is no risk of ambiguity (such as between deadline and
> mq-deadline). I'm open to any sensible choice.
>

The naming is confusing but I can understand the point of Jens.

The Kconfigs of BFQ in block/Kconfig.iosched need a move (see my two
patches attached in the initial posting).
AFAICS you have the same in your latest BFQ-patchset for Linux v4.11.y.

I am re-attaching my two patches.

- Sedat -
From 7d922302a3af8934da46e8fc04d256025d8ddb27 Mon Sep 17 00:00:00 2001
From: Sedat Dilek <sedat.dilek@xxxxxxxxx>
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.dilek@xxxxxxxxx>
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


[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux