From: Takashi Iwai <tiwai@suse.de>
To: Paolo Valente <paolo.valente@unimore.it>
Cc: Pavel Machek <pavel@ucw.cz>, Tejun Heo <tj@kernel.org>,
Jens Axboe <axboe@kernel.dk>, Li Zefan <lizefan@huawei.com>,
Fabio Checconi <fchecconi@gmail.com>,
Arianna Avanzini <avanzini.arianna@gmail.com>,
linux-kernel@vger.kernel.org,
containers@lists.linux-foundation.org, cgroups@vger.kernel.org
Subject: Re: BFQ speed tests [was Re: [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler]
Date: Fri, 13 Jun 2014 18:21:29 +0200 [thread overview]
Message-ID: <s5ha99gg4qe.wl%tiwai@suse.de> (raw)
In-Reply-To: <6A4905B2-ACAA-419D-9C83-659BE9A5B20B@unimore.it>
At Wed, 11 Jun 2014 22:45:06 +0200,
Paolo Valente wrote:
>
>
> Il giorno 04/giu/2014, alle ore 13:59, Takashi Iwai <tiwai@suse.de> ha scritto:
>
> > […]
> > I've been using BFQ for a while and noticed also some obvious
> > regression in some operations, notably git, too.
> > For example, git grep regresses badly.
> >
> > I ran "test git grep foo > /dev/null" on linux kernel repos on both
> > rotational disk and SSD.
> > […]
> >
> > BFQ seems behaving bad when reading many small files.
> >
>
> The fix I described in my last reply to Pavel's speed tests
> (https://lkml.org/lkml/2014/6/4/94) apparently solves also this problem.
> As I wrote in that reply, the new fixed version of bfq is here:
> http://algogroup.unimore.it/people/paolo/disk_sched/debugging-patches/3.16.0-rc0-v7rc5.tgz
>
> These are our results, for your test, with this fixed version of bfq.
>
> time git grep foo > /dev/null
>
> Rotational disk:
> CFQ:
> 2.86user 4.87system 0:29.51elapsed 26%CPU
> 2.87user 4.87system 0:30.30elapsed 25%CPU
> 2.82user 4.90system 0:29.13elapsed 26%CPU
>
> BFQ:
> 2.81user 4.97system 0:25.96elapsed 29%CPU
> 2.83user 5.02system 0:24.79elapsed 31%CPU
> 2.85user 4.95system 0:24.73elapsed 31%CPU
>
> SSD:
> CFQ:
> 2.04user 3.93system 0:03.88elapsed 153%CPU
> 2.12user 3.85system 0:03.89elapsed 153%CPU
> 2.05user 3.92system 0:03.89elapsed 153%CPU
>
> BFQ:
> 2.10user 3.86system 0:03.89elapsed 153%CPU
> 2.05user 3.90system 0:03.88elapsed 153%CPU
> 2.01user 3.95system 0:03.89elapsed 153%CPU
>
> time git grep foo HEAD > /dev/null
>
> SSD:
> CFQ:
> 5.11user 0.38system 0:06.71elapsed 81%CPU
> 5.21user 0.36system 0:06.78elapsed 82%CPU
> 5.05user 0.41system 0:06.69elapsed 81%CPU
>
> BFQ:
> 5.17user 0.39system 0:06.77elapsed 82%CPU
> 5.13user 0.37system 0:06.73elapsed 81%CPU
> 5.17user 0.37system 0:06.78elapsed 81%CPU
>
> Should you be willing to provide further feedback on this and other tests,
> we would of course really appreciate it.
Thanks. The new patchset works well now. The results with the new
patchset + latest Linus git tree are below.
The only significant difference is the case with "git grep foo" on
SSD. But I'm not sure whether it's a casual error. I'll need to get
more samples to flatten the errors.
Takashi
===
* time git grep foo > /dev/null
rotational disk:
CFQ:
2.34user 4.04system 2:00.12elapsed 5%CPU
2.49user 3.80system 1:56.20elapsed 5%CPU
2.42user 3.68system 1:46.81elapsed 5%CPU
BFQ:
2.44user 3.57system 1:49.65elapsed 5%CPU
2.47user 3.67system 1:55.92elapsed 5%CPU
2.47user 3.63system 1:50.06elapsed 5%CPU
SSD:
CFQ:
1.25user 1.54system 0:04.62elapsed 60%CPU
1.23user 1.67system 0:04.65elapsed 62%CPU
1.22user 1.60system 0:04.61elapsed 61%CPU
BFQ:
1.29user 1.64system 0:06.91elapsed 42%CPU
1.30user 1.66system 0:06.66elapsed 44%CPU
1.27user 1.59system 0:04.73elapsed 60%CPU
* time git grep foo HEAD > /dev/null
rotational disk:
CFQ:
5.12user 0.43system 0:19.86elapsed 28%CPU
5.06user 0.45system 0:19.88elapsed 27%CPU
5.00user 0.41system 0:20.05elapsed 27%CPU
BFQ:
4.82user 0.37system 0:19.56elapsed 26%CPU
5.00user 0.43system 0:19.53elapsed 27%CPU
4.92user 0.45system 0:19.69elapsed 27%CPU
SSD:
CFQ:
4.49user 0.32system 0:07.26elapsed 66%CPU
4.50user 0.31system 0:07.25elapsed 66%CPU
4.40user 0.32system 0:07.16elapsed 65%CPU
BFQ:
4.09user 0.26system 0:06.93elapsed 62%CPU
3.76user 0.23system 0:06.54elapsed 61%CPU
3.65user 0.22system 0:06.40elapsed 60%CPU
next prev parent reply other threads:[~2014-06-13 16:21 UTC|newest]
Thread overview: 107+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-27 12:42 [PATCH RFC RESEND 00/14] New version of the BFQ I/O Scheduler paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 01/14] block: kconfig update and build bits for BFQ paolo
2014-05-28 22:19 ` Tejun Heo
2014-05-29 9:05 ` [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler Paolo Valente
2014-05-29 9:05 ` [PATCH RFC - TAKE TWO - 01/12] block: introduce the BFQ-v0 I/O scheduler Paolo Valente
2014-05-30 15:36 ` Tejun Heo
2014-05-29 9:05 ` [PATCH RFC - TAKE TWO - 02/12] block, bfq: add full hierarchical scheduling and cgroups support Paolo Valente
2014-05-30 15:37 ` Tejun Heo
2014-05-30 15:39 ` Tejun Heo
2014-05-30 21:49 ` Paolo Valente
2014-05-30 21:49 ` Paolo Valente
2014-05-29 9:05 ` [PATCH RFC - TAKE TWO - 03/12] block, bfq: improve throughput boosting Paolo Valente
2014-05-29 9:05 ` [PATCH RFC - TAKE TWO - 04/12] block, bfq: modify the peak-rate estimator Paolo Valente
2014-05-29 9:05 ` [PATCH RFC - TAKE TWO - 05/12] block, bfq: add more fairness to boost throughput and reduce latency Paolo Valente
2014-05-29 9:05 ` [PATCH RFC - TAKE TWO - 06/12] block, bfq: improve responsiveness Paolo Valente
2014-05-30 15:41 ` Tejun Heo
2014-05-29 9:05 ` [PATCH RFC - TAKE TWO - 07/12] block, bfq: reduce I/O latency for soft real-time applications Paolo Valente
2014-05-29 9:05 ` [PATCH RFC - TAKE TWO - 08/12] block, bfq: preserve a low latency also with NCQ-capable drives Paolo Valente
2014-05-31 13:48 ` Tejun Heo
2014-06-02 9:58 ` Paolo Valente
2014-05-29 9:05 ` [PATCH RFC - TAKE TWO - 09/12] block, bfq: reduce latency during request-pool saturation Paolo Valente
2014-05-31 13:54 ` Tejun Heo
2014-06-02 9:54 ` Paolo Valente
2014-05-29 9:05 ` [PATCH RFC - TAKE TWO - 10/12] block, bfq: add Early Queue Merge (EQM) Paolo Valente
2014-06-01 0:03 ` Tejun Heo
2014-06-02 9:46 ` Paolo Valente
2014-06-03 16:28 ` Tejun Heo
2014-06-04 11:47 ` Paolo Valente
2014-06-04 13:04 ` Tejun Heo
2014-06-16 11:23 ` Paolo Valente
2014-05-29 9:05 ` [PATCH RFC - TAKE TWO - 11/12] block, bfq: boost the throughput on NCQ-capable flash-based devices Paolo Valente
2014-05-30 15:46 ` Tejun Heo
2014-05-30 22:01 ` Paolo Valente
2014-05-31 11:52 ` Tejun Heo
2014-06-02 9:26 ` Paolo Valente
2014-06-03 17:11 ` Tejun Heo
2014-06-04 7:29 ` Paolo Valente
2014-06-04 13:56 ` Tejun Heo
2014-06-16 10:46 ` Paolo Valente
2014-06-19 1:14 ` Tejun Heo
2014-05-29 9:05 ` [PATCH RFC - TAKE TWO - 12/12] block, bfq: boost the throughput with random I/O on NCQ-capable HDDs Paolo Valente
2014-05-30 15:51 ` Tejun Heo
2014-05-31 13:34 ` Tejun Heo
2014-05-30 16:07 ` [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler Tejun Heo
2014-05-30 22:23 ` Paolo Valente
2014-05-30 23:28 ` Tejun Heo
2014-05-30 23:54 ` Paolo Valente
2014-06-02 11:14 ` Pavel Machek
2014-06-02 13:02 ` Pavel Machek
2014-06-03 16:54 ` Paolo Valente
2014-06-03 20:40 ` Pavel Machek
2014-06-04 8:39 ` Pavel Machek
2014-06-04 9:08 ` Pavel Machek
2014-06-04 10:03 ` BFQ speed tests [was Re: [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler] Pavel Machek
2014-06-04 10:24 ` Paolo Valente
2014-06-04 11:59 ` Takashi Iwai
2014-06-04 12:12 ` Paolo Valente
2014-06-11 20:45 ` Paolo Valente
2014-06-13 16:21 ` Takashi Iwai [this message]
2014-06-11 20:39 ` Paolo Valente
2014-06-02 17:33 ` [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler Tejun Heo
2014-06-03 4:12 ` Mike Galbraith
2014-06-04 22:31 ` Pavel Machek
2014-06-05 2:14 ` Jens Axboe
2014-05-31 0:48 ` Jens Axboe
2014-05-31 5:16 ` Tejun Heo
2014-06-02 14:29 ` Jens Axboe
2014-06-02 17:24 ` Tejun Heo
2014-06-02 17:32 ` Jens Axboe
2014-06-02 17:42 ` Tejun Heo
2014-06-02 17:46 ` Jens Axboe
2014-06-02 18:51 ` Tejun Heo
2014-06-02 20:57 ` Jens Axboe
2014-06-04 14:31 ` Christoph Hellwig
2014-06-04 14:50 ` Tejun Heo
2014-06-04 14:53 ` Christoph Hellwig
2014-06-04 14:58 ` Tejun Heo
2014-06-04 17:51 ` Christoph Hellwig
2014-06-17 15:55 ` Paolo Valente
2014-06-19 1:46 ` Tejun Heo
2014-06-19 1:49 ` Tejun Heo
2014-06-19 2:29 ` Jens Axboe
2014-06-23 13:53 ` Paolo Valente
2014-06-23 19:20 ` Tejun Heo
2014-07-09 20:54 ` Paolo Valente
2014-05-27 12:42 ` [PATCH RFC RESEND 02/14] block: introduce the BFQ-v0 I/O scheduler paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 03/14] block: add hierarchical-support option to kconfig paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 04/14] block, bfq: add full hierarchical scheduling and cgroups support paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 05/14] block, bfq: improve throughput boosting paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 06/14] block, bfq: modify the peak-rate estimator paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 07/14] block, bfq: add more fairness to boost throughput and reduce latency paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 08/14] block, bfq: improve responsiveness paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 09/14] block, bfq: reduce I/O latency for soft real-time applications paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 10/14] block, bfq: preserve a low latency also with NCQ-capable drives paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 11/14] block, bfq: reduce latency during request-pool saturation paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 12/14] block, bfq: add Early Queue Merge (EQM) paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 13/14] block, bfq: boost the throughput on NCQ-capable flash-based devices paolo
2014-05-27 12:42 ` [PATCH RFC RESEND 14/14] block, bfq: boost the throughput with random I/O on NCQ-capable HDDs paolo
2014-05-30 15:32 ` [PATCH RFC RESEND 00/14] New version of the BFQ I/O Scheduler Vivek Goyal
2014-05-30 16:16 ` Tejun Heo
2014-05-30 17:09 ` Vivek Goyal
2014-05-30 17:26 ` Tejun Heo
2014-05-30 17:55 ` Vivek Goyal
2014-05-30 17:59 ` Tejun Heo
2014-05-30 23:33 ` Paolo Valente
2014-05-30 17:31 ` Vivek Goyal
2014-05-30 17:39 ` Tejun Heo
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=s5ha99gg4qe.wl%tiwai@suse.de \
--to=tiwai@suse.de \
--cc=avanzini.arianna@gmail.com \
--cc=axboe@kernel.dk \
--cc=cgroups@vger.kernel.org \
--cc=containers@lists.linux-foundation.org \
--cc=fchecconi@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=paolo.valente@unimore.it \
--cc=pavel@ucw.cz \
--cc=tj@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®