All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sedat Dilek <sedat.dilek@gmail.com>
To: Paolo Valente <paolo.valente@linaro.org>
Cc: Markus Trippelsdorf <markus@trippelsdorf.de>,
	Jens Axboe <axboe@kernel.dk>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	linux-block@vger.kernel.org
Subject: Re: Playing with BFQ
Date: Sat, 13 May 2017 09:54:54 +0200	[thread overview]
Message-ID: <CA+icZUXNbdjLwsSTnGQPdhKe1RVkMF1D1yEOVhx2LZ+kswFOVA@mail.gmail.com> (raw)
In-Reply-To: <886609A4-9996-410F-8BB4-65B23866B31D@linaro.org>

[-- Attachment #1: Type: text/plain, Size: 1924 bytes --]

On Wed, May 3, 2017 at 11:24 AM, Paolo Valente <paolo.valente@linaro.org> wrote:
>
>> Il giorno 03 mag 2017, alle ore 11:16, Markus Trippelsdorf <markus@trippelsdorf.de> 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@trippelsdorf.de> wrote:
>>>> On 2017.05.02 at 14:07 +0200, Sedat Dilek wrote:
>>>>> On Tue, May 2, 2017 at 10:00 AM, Markus Trippelsdorf
>>>>> <markus@trippelsdorf.de> 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 -

[-- Attachment #2: 0001-block-bfq-Move-CONFIG_IOSCHED_BFQ-and-CONFIG_BFQ_GRO.patch --]
[-- Type: text/x-patch, Size: 2236 bytes --]

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


[-- Attachment #3: 0002-block-bfq-Introduce-DEFAULT_BFQ.patch --]
[-- Type: text/x-patch, Size: 828 bytes --]

From da3379424fc0237d5de25e946ed5482a625aaac2 Mon Sep 17 00:00:00 2001
From: Sedat Dilek <sedat.dilek@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	other threads:[~2017-05-13  7:54 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-02  7:54 Playing with BFQ Sedat Dilek
2017-05-02  8:00 ` Markus Trippelsdorf
2017-05-02  8:07   ` Sedat Dilek
2017-05-02  9:14     ` Sedat Dilek
2017-05-02 12:07   ` Sedat Dilek
2017-05-02 12:16     ` Markus Trippelsdorf
2017-05-03  8:00       ` Sedat Dilek
2017-05-03  9:16         ` Markus Trippelsdorf
2017-05-03  9:24           ` Paolo Valente
2017-05-13  7:54             ` Sedat Dilek [this message]
2017-05-13  8:00               ` Sedat Dilek
2017-05-03  9:21         ` Paolo Valente
2017-05-13  7:50           ` Sedat Dilek
2017-05-16  8:45             ` Paolo Valente
2017-05-16 13:22               ` Sedat Dilek
2017-05-16 13:28                 ` Paolo Valente
2017-05-16 13:38                   ` Sedat Dilek
2017-05-16 13:41                     ` Paolo Valente

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CA+icZUXNbdjLwsSTnGQPdhKe1RVkMF1D1yEOVhx2LZ+kswFOVA@mail.gmail.com \
    --to=sedat.dilek@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=linux-block@vger.kernel.org \
    --cc=markus@trippelsdorf.de \
    --cc=paolo.valente@linaro.org \
    --cc=ulf.hansson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.