mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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


  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®