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
next prev parent 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.