All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Jens Axboe <axboe-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>,
	paolo <paolo.valente-rcYM44yAMweonA0d6jMUrA@public.gmane.org>,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Fabio Checconi
	<fchecconi-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Arianna Avanzini
	<avanzini.arianna-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Paolo Valente <posta_paolo-whZMOeQn8C0@public.gmane.org>
Subject: Re: [PATCH RFC RESEND 00/14] New version of the BFQ I/O Scheduler
Date: Fri, 30 May 2014 13:55:27 -0400	[thread overview]
Message-ID: <20140530175527.GH16605@redhat.com> (raw)
In-Reply-To: <20140530172609.GI24871-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>

On Fri, May 30, 2014 at 01:26:09PM -0400, Tejun Heo wrote:
> Hello,
> 
> On Fri, May 30, 2014 at 01:09:58PM -0400, Vivek Goyal wrote:
> > Are you referring to BFQ paper. I had read one in the past and it was
> > all about how to achieve more accurate fairness. At this point of time
> > I don't think that smarter algorithm is the problem. Until and unless
> > somebody can show me that how algorithm is a problem.
> 
> Because cfq rr's with heuristically guessed slices and bfq calculates
> where each one is supposed to end and then schedules the slices
> accordingly.  With a lot of slices to serve, cfq loses track of which
> one should come first to adhere to desired latency guarantees while
> bfq doesn't, which in turn allows more latitude in using longer slices
> for bfq allowing for better throughput.  It's all in the paper and
> backed by numbers.  What more do you want?

Now CFQ also dynamically adjusts the slice length based on the how
many queues are ready to do IO. One problem with fixed slice lenth
round robin was that if there are lot of queues doing IO, then after
serving one queue, same queue will get time slice after a long time.

Corrado Zoccolo did work in this area in an attempt to improve latency.
Now slice length is calculated dynamically in an attempt to achieve
better latency.

commit 5db5d64277bf390056b1a87d0bb288c8b8553f96
Author: Corrado Zoccolo <czoccolo-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Date:   Mon Oct 26 22:44:04 2009 +0100

    cfq-iosched: adapt slice to number of processes doing I/O
 
> 
> > Apart from algorithm, one thing BFQ did different in the past was provide
> > fairness based on amount of IO done *and not in terms of time slice*. I
> > don't know if that's still the case. If it is the case I am wondering
> > why CFQ was converted from amount of IO based fairness to time slice
> > based fairness.
> 
> Rotating rusts being rotating rusts, either measure isn't perfect.
> Bandwidth tracking gets silly with seeky workloads while pure time
> slice tracking unfairly treats users of inner and outer tracks.  BFQ
> uses bw tracking for sequential workload while basically switches to
> time slice tracking for seeky workloads.  These were pretty clearly
> discussed in the paper.

Ok, so you prefer to have another IO scheduler instead of improving
CFQ?

> 
> > I am all for a better algorithm. I just want to somebody to explain it
> > to me that what magic they have done to achieve better throughput as
> > well as better latency.
> 
> It feels more like you're actively refusing to understand it even when
> the algorithm and heristics involved are as clearly presented as it
> could be.  This is one of the best documented piece of work in this
> area of the kernel.  Just read the papers.

Tejun, I have spent significant amount of time on BFQ few years ago. And
that's the reason I have not read it again yet. My understanding was
that there was nothing which would not be done in CFQ (atleast things
which mattered).

Looks like you prefer introducing a new scheduler instead of improving
CFQ. My preference is to improve CFQ. Borrow good ideas from BFQ and
implement them in CFQ.

> 
> > Do you think that CFQ's problems come from round robin algorithms. No,
> > they don't. Most of the time we don't even honor the allocated time
> 
> Oh yes, why do you think we bother with preemption at all?  bfq
> reportedly achieves sufficient fairness and responsiveness without the
> need for preemption.  This is a lot clearer model.

We primarily allow preemption of buffered write queue. If you allocate
a share for buffered write queue, that would be good for not starving
buffered writes but your read latencies should go down. 

> 
> > slice (except sequential IO) and preempt the allocated slice. That's
> > why I think implementing a more fair algorithm is probably not the
> > solution.
> 
> If you actually study what has been presented, you'd immediately
> recognize that a lot of what bfq does is clarification and
> improvements of the buried heuristics.
> 
> Look at it this way: RR + preemption becomes the basic timestamp based
> scheduling and other heuristics are extracted and clarified.  That's
> what it is.
> 
> > CFQ's throughput problems come from idling and driving lower queue depth.
> > And CFQ's throughput problems arise due to suppressing buffered write
> > very actively in presence of sync IO. 
> > 
> > I want to know what has BFQ done fundamentally different to take care of
> > above issues. 
> 
> Yeah, read the paper.  They also analyzed why some things behave
> certain ways.  A lot of them are pretty spot-on.
> 
> > Remember CFQ had started with a simple algorith. Just start allocating
> > time slice in proportion to ioprio. That simple scheme did not work in
> > real world and then it became more complicated.
> 
> Yes, this is another refinement step.  WTF is that so hard to warp
> your head around it?  It doesn't throw away much.  It builds upon cfq
> and clarifies and improves what it has been doing.

So why not improve CFQ instead of carrying and maintaining another 
scheduler. And then have a discussion that what's the default scheduler.

If plan is that BFQ is better than CFQ and instead of fixing CFQ lets
introduce BFQ and slowly phase out CFQ, please say so.

There is alredy lot of confusion in terms of explaining to people what
IO scheduler to use and now there is another one in the mix which is
almost same as CFQ but supposedely performs better.

Thanks
Vivek

WARNING: multiple messages have this Message-ID (diff)
From: Vivek Goyal <vgoyal@redhat.com>
To: Tejun Heo <tj@kernel.org>
Cc: paolo <paolo.valente@unimore.it>, Jens Axboe <axboe@kernel.dk>,
	Li Zefan <lizefan@huawei.com>,
	Fabio Checconi <fchecconi@gmail.com>,
	Arianna Avanzini <avanzini.arianna@gmail.com>,
	Paolo Valente <posta_paolo@yahoo.it>,
	linux-kernel@vger.kernel.org,
	containers@lists.linux-foundation.org, cgroups@vger.kernel.org
Subject: Re: [PATCH RFC RESEND 00/14] New version of the BFQ I/O Scheduler
Date: Fri, 30 May 2014 13:55:27 -0400	[thread overview]
Message-ID: <20140530175527.GH16605@redhat.com> (raw)
In-Reply-To: <20140530172609.GI24871@htj.dyndns.org>

On Fri, May 30, 2014 at 01:26:09PM -0400, Tejun Heo wrote:
> Hello,
> 
> On Fri, May 30, 2014 at 01:09:58PM -0400, Vivek Goyal wrote:
> > Are you referring to BFQ paper. I had read one in the past and it was
> > all about how to achieve more accurate fairness. At this point of time
> > I don't think that smarter algorithm is the problem. Until and unless
> > somebody can show me that how algorithm is a problem.
> 
> Because cfq rr's with heuristically guessed slices and bfq calculates
> where each one is supposed to end and then schedules the slices
> accordingly.  With a lot of slices to serve, cfq loses track of which
> one should come first to adhere to desired latency guarantees while
> bfq doesn't, which in turn allows more latitude in using longer slices
> for bfq allowing for better throughput.  It's all in the paper and
> backed by numbers.  What more do you want?

Now CFQ also dynamically adjusts the slice length based on the how
many queues are ready to do IO. One problem with fixed slice lenth
round robin was that if there are lot of queues doing IO, then after
serving one queue, same queue will get time slice after a long time.

Corrado Zoccolo did work in this area in an attempt to improve latency.
Now slice length is calculated dynamically in an attempt to achieve
better latency.

commit 5db5d64277bf390056b1a87d0bb288c8b8553f96
Author: Corrado Zoccolo <czoccolo@gmail.com>
Date:   Mon Oct 26 22:44:04 2009 +0100

    cfq-iosched: adapt slice to number of processes doing I/O
 
> 
> > Apart from algorithm, one thing BFQ did different in the past was provide
> > fairness based on amount of IO done *and not in terms of time slice*. I
> > don't know if that's still the case. If it is the case I am wondering
> > why CFQ was converted from amount of IO based fairness to time slice
> > based fairness.
> 
> Rotating rusts being rotating rusts, either measure isn't perfect.
> Bandwidth tracking gets silly with seeky workloads while pure time
> slice tracking unfairly treats users of inner and outer tracks.  BFQ
> uses bw tracking for sequential workload while basically switches to
> time slice tracking for seeky workloads.  These were pretty clearly
> discussed in the paper.

Ok, so you prefer to have another IO scheduler instead of improving
CFQ?

> 
> > I am all for a better algorithm. I just want to somebody to explain it
> > to me that what magic they have done to achieve better throughput as
> > well as better latency.
> 
> It feels more like you're actively refusing to understand it even when
> the algorithm and heristics involved are as clearly presented as it
> could be.  This is one of the best documented piece of work in this
> area of the kernel.  Just read the papers.

Tejun, I have spent significant amount of time on BFQ few years ago. And
that's the reason I have not read it again yet. My understanding was
that there was nothing which would not be done in CFQ (atleast things
which mattered).

Looks like you prefer introducing a new scheduler instead of improving
CFQ. My preference is to improve CFQ. Borrow good ideas from BFQ and
implement them in CFQ.

> 
> > Do you think that CFQ's problems come from round robin algorithms. No,
> > they don't. Most of the time we don't even honor the allocated time
> 
> Oh yes, why do you think we bother with preemption at all?  bfq
> reportedly achieves sufficient fairness and responsiveness without the
> need for preemption.  This is a lot clearer model.

We primarily allow preemption of buffered write queue. If you allocate
a share for buffered write queue, that would be good for not starving
buffered writes but your read latencies should go down. 

> 
> > slice (except sequential IO) and preempt the allocated slice. That's
> > why I think implementing a more fair algorithm is probably not the
> > solution.
> 
> If you actually study what has been presented, you'd immediately
> recognize that a lot of what bfq does is clarification and
> improvements of the buried heuristics.
> 
> Look at it this way: RR + preemption becomes the basic timestamp based
> scheduling and other heuristics are extracted and clarified.  That's
> what it is.
> 
> > CFQ's throughput problems come from idling and driving lower queue depth.
> > And CFQ's throughput problems arise due to suppressing buffered write
> > very actively in presence of sync IO. 
> > 
> > I want to know what has BFQ done fundamentally different to take care of
> > above issues. 
> 
> Yeah, read the paper.  They also analyzed why some things behave
> certain ways.  A lot of them are pretty spot-on.
> 
> > Remember CFQ had started with a simple algorith. Just start allocating
> > time slice in proportion to ioprio. That simple scheme did not work in
> > real world and then it became more complicated.
> 
> Yes, this is another refinement step.  WTF is that so hard to warp
> your head around it?  It doesn't throw away much.  It builds upon cfq
> and clarifies and improves what it has been doing.

So why not improve CFQ instead of carrying and maintaining another 
scheduler. And then have a discussion that what's the default scheduler.

If plan is that BFQ is better than CFQ and instead of fixing CFQ lets
introduce BFQ and slowly phase out CFQ, please say so.

There is alredy lot of confusion in terms of explaining to people what
IO scheduler to use and now there is another one in the mix which is
almost same as CFQ but supposedely performs better.

Thanks
Vivek

  parent reply	other threads:[~2014-05-30 17:55 UTC|newest]

Thread overview: 248+ 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 ` 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 14/14] block, bfq: boost the throughput with random I/O on NCQ-capable HDDs paolo
2014-05-27 12:42   ` paolo
     [not found] ` <1401194558-5283-1-git-send-email-paolo.valente-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-05-27 12:42   ` [PATCH RFC RESEND 01/14] block: kconfig update and build bits for BFQ paolo
2014-05-27 12:42     ` paolo
2014-05-28 22:19     ` Tejun Heo
2014-05-28 22:19       ` Tejun Heo
     [not found]       ` <20140528221929.GG1419-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
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           ` 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             ` Paolo Valente
2014-05-29  9:05           ` [PATCH RFC - TAKE TWO - 06/12] block, bfq: improve responsiveness Paolo Valente
     [not found]             ` <1401354343-5527-7-git-send-email-paolo.valente-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-05-30 15:41               ` Tejun Heo
2014-05-30 15:41                 ` Tejun Heo
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-29  9:05             ` Paolo Valente
     [not found]             ` <1401354343-5527-9-git-send-email-paolo.valente-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-05-31 13:48               ` Tejun Heo
2014-05-31 13:48                 ` Tejun Heo
     [not found]                 ` <20140531134823.GB24557-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2014-06-02  9:58                   ` Paolo Valente
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
     [not found]             ` <1401354343-5527-10-git-send-email-paolo.valente-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-05-31 13:54               ` Tejun Heo
2014-05-31 13:54                 ` Tejun Heo
2014-06-02  9:54                 ` Paolo Valente
2014-06-02  9:54                   ` Paolo Valente
     [not found]                 ` <20140531135402.GC24557-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2014-06-02  9:54                   ` Paolo Valente
     [not found]           ` <1401354343-5527-1-git-send-email-paolo.valente-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-05-29  9:05             ` [PATCH RFC - TAKE TWO - 01/12] block: introduce the BFQ-v0 I/O scheduler Paolo Valente
2014-05-29  9:05               ` Paolo Valente
     [not found]               ` <1401354343-5527-2-git-send-email-paolo.valente-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-05-30 15:36                 ` Tejun Heo
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-29  9:05               ` Paolo Valente
     [not found]               ` <1401354343-5527-3-git-send-email-paolo.valente-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-05-30 15:37                 ` Tejun Heo
2014-05-30 15:37               ` Tejun Heo
2014-05-30 15:37                 ` Tejun Heo
2014-05-30 15:39                 ` Tejun Heo
2014-05-30 15:39                   ` Tejun Heo
     [not found]                   ` <20140530153943.GC24871-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-05-30 21:49                     ` Paolo Valente
2014-05-30 21:49                       ` Paolo Valente
     [not found]                 ` <20140530153718.GB24871-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-05-30 15:39                   ` Tejun Heo
2014-05-30 21:49                   ` Paolo Valente
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               ` 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               ` 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-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               ` 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-29  9:05             ` [PATCH RFC - TAKE TWO - 09/12] block, bfq: reduce latency during request-pool saturation Paolo Valente
2014-05-29  9:05             ` [PATCH RFC - TAKE TWO - 10/12] block, bfq: add Early Queue Merge (EQM) Paolo Valente
2014-05-29  9:05               ` Paolo Valente
     [not found]               ` <1401354343-5527-11-git-send-email-paolo.valente-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-06-01  0:03                 ` Tejun Heo
2014-06-01  0:03               ` Tejun Heo
2014-06-01  0:03                 ` Tejun Heo
2014-06-02  9:46                 ` Paolo Valente
2014-06-02  9:46                   ` Paolo Valente
     [not found]                   ` <3B7B1A46-46EB-4C52-A52C-4F79C71D14C2-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-06-03 16:28                     ` Tejun Heo
2014-06-03 16:28                       ` Tejun Heo
     [not found]                       ` <20140603162844.GD26210-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-06-04 11:47                         ` Paolo Valente
2014-06-04 11:47                           ` Paolo Valente
     [not found]                           ` <91383F1F-69C3-4B88-B51E-30204818F1AB-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-06-04 13:04                             ` Tejun Heo
2014-06-04 13:04                           ` Tejun Heo
     [not found]                             ` <20140604130446.GA5004-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-06-16 11:23                               ` Paolo Valente
2014-06-16 11:23                             ` Paolo Valente
2014-06-16 11:23                               ` Paolo Valente
     [not found]                 ` <20140601000331.GA29085-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-06-02  9:46                   ` 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-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 16:07             ` [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler Tejun Heo
2014-05-30 16:07               ` Tejun Heo
     [not found]               ` <20140530160712.GG24871-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-05-30 22:23                 ` Paolo Valente
2014-05-30 22:23                   ` Paolo Valente
     [not found]                   ` <464F6CBE-A63E-46EF-A90D-BF8450430444-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-05-30 23:28                     ` Tejun Heo
2014-05-30 23:28                   ` Tejun Heo
2014-05-30 23:28                     ` Tejun Heo
     [not found]                     ` <20140530232804.GA5057-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-05-30 23:54                       ` Paolo Valente
2014-05-30 23:54                         ` Paolo Valente
2014-06-02 11:14                       ` Pavel Machek
2014-06-02 11:14                     ` Pavel Machek
2014-06-02 11:14                       ` Pavel Machek
     [not found]                       ` <20140602111432.GA3737-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2014-06-02 13:02                         ` Pavel Machek
2014-06-02 13:02                           ` Pavel Machek
     [not found]                           ` <20140602130226.GA14654-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2014-06-03 16:54                             ` Paolo Valente
2014-06-03 16:54                               ` Paolo Valente
2014-06-04  8:39                               ` Pavel Machek
2014-06-04  8:39                                 ` Pavel Machek
     [not found]                               ` <FCFE0106-A4DD-4DEF-AAAE-040F3823A447-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-06-03 20:40                                 ` Pavel Machek
2014-06-03 20:40                                   ` Pavel Machek
2014-06-04  8:39                                 ` Pavel Machek
2014-06-04  9:08                                 ` 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:03                               ` Pavel Machek
2014-06-04 10:03                                 ` Pavel Machek
     [not found]                                 ` <20140604100358.GA4799-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2014-06-04 10:24                                   ` Paolo Valente
2014-06-04 10:24                                     ` Paolo Valente
     [not found]                                     ` <4888F93F-D58D-48DD-81A6-A6D61C452D92-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-06-04 11:59                                       ` Takashi Iwai
2014-06-04 11:59                                         ` Takashi Iwai
2014-06-04 11:59                                         ` Takashi Iwai
2014-06-04 12:12                                         ` Paolo Valente
2014-06-04 12:12                                           ` Paolo Valente
     [not found]                                         ` <s5hsink3mxk.wl%tiwai-l3A5Bk7waGM@public.gmane.org>
2014-06-04 12:12                                           ` Paolo Valente
2014-06-11 20:45                                           ` Paolo Valente
2014-06-11 20:45                                             ` Paolo Valente
2014-06-13 16:21                                             ` Takashi Iwai
2014-06-13 16:21                                               ` Takashi Iwai
     [not found]                                             ` <6A4905B2-ACAA-419D-9C83-659BE9A5B20B-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-06-13 16:21                                               ` Takashi Iwai
2014-06-11 20:39                                   ` Paolo Valente
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-02 17:33                           ` Tejun Heo
     [not found]                           ` <20140602173332.GB8912-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-06-03  4:12                             ` Mike Galbraith
2014-06-03  4:12                               ` Mike Galbraith
2014-06-04 22:31                             ` Pavel Machek
2014-06-04 22:31                               ` Pavel Machek
     [not found]                               ` <20140604223152.GA7881-tWAi6jLit6GreWDznjuHag@public.gmane.org>
2014-06-05  2:14                                 ` Jens Axboe
2014-06-05  2:14                                   ` Jens Axboe
2014-05-31  0:48                 ` Jens Axboe
2014-05-31  0:48               ` Jens Axboe
2014-05-31  0:48                 ` Jens Axboe
     [not found]                 ` <538926F6.7080409-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2014-05-31  5:16                   ` Tejun Heo
2014-05-31  5:16                 ` Tejun Heo
2014-05-31  5:16                   ` Tejun Heo
     [not found]                   ` <20140531051635.GA19925-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2014-06-02 14:29                     ` Jens Axboe
2014-06-02 14:29                       ` Jens Axboe
     [not found]                       ` <538C8A47.1050502-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2014-06-02 17:24                         ` Tejun Heo
2014-06-17 15:55                         ` Paolo Valente
2014-06-17 15:55                           ` Paolo Valente
     [not found]                           ` <0A5218F8-0215-4B4F-959B-EE5AAEFC164A-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-06-19  1:46                             ` Tejun Heo
2014-06-19  1:46                           ` Tejun Heo
2014-06-19  1:46                             ` Tejun Heo
     [not found]                             ` <20140619014600.GA20100-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2014-06-19  1:49                               ` Tejun Heo
2014-06-19  2:29                               ` Jens Axboe
2014-06-19  2:29                                 ` Jens Axboe
     [not found]                                 ` <53A24B1C.1070004-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2014-06-23 13:53                                   ` Paolo Valente
2014-06-23 13:53                                     ` Paolo Valente
2014-06-23 19:20                                     ` Tejun Heo
2014-06-23 19:20                                       ` Tejun Heo
     [not found]                                       ` <20140623192022.GA19660-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2014-07-09 20:54                                         ` Paolo Valente
2014-07-09 20:54                                           ` Paolo Valente
     [not found]                                     ` <8F719638-0CD7-4BD2-8F4F-088913A0EE2D-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-06-23 19:20                                       ` Tejun Heo
2014-06-19  1:49                             ` Tejun Heo
2014-06-19  1:49                               ` Tejun Heo
2014-06-02 17:24                       ` Tejun Heo
2014-06-02 17:24                         ` Tejun Heo
2014-06-02 17:32                         ` Jens Axboe
2014-06-02 17:32                           ` Jens Axboe
     [not found]                           ` <538CB515.3090700-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2014-06-02 17:42                             ` Tejun Heo
2014-06-02 17:42                               ` Tejun Heo
     [not found]                               ` <20140602174250.GC8912-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-06-02 17:46                                 ` Jens Axboe
2014-06-02 17:46                                   ` Jens Axboe
2014-06-02 18:51                                   ` Tejun Heo
2014-06-02 18:51                                     ` Tejun Heo
     [not found]                                     ` <20140602185138.GD8912-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-06-02 20:57                                       ` Jens Axboe
2014-06-02 20:57                                         ` Jens Axboe
     [not found]                                         ` <20140602205713.GB8357-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2014-06-04 14:31                                           ` Christoph Hellwig
2014-06-04 14:31                                         ` Christoph Hellwig
2014-06-04 14:31                                           ` Christoph Hellwig
     [not found]                                           ` <20140604143136.GA1920-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2014-06-04 14:50                                             ` Tejun Heo
2014-06-04 14:50                                               ` Tejun Heo
     [not found]                                               ` <20140604145053.GE5004-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-06-04 14:53                                                 ` Christoph Hellwig
2014-06-04 14:53                                                   ` Christoph Hellwig
     [not found]                                                   ` <20140604145330.GA2955-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2014-06-04 14:58                                                     ` Tejun Heo
2014-06-04 14:58                                                       ` Tejun Heo
     [not found]                                                       ` <20140604145829.GF5004-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-06-04 17:51                                                         ` Christoph Hellwig
2014-06-04 17:51                                                           ` Christoph Hellwig
     [not found]                                   ` <538CB87C.7030600-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org>
2014-06-02 18:51                                     ` Tejun Heo
     [not found]                         ` <20140602172454.GA8912-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-06-02 17:32                           ` Jens Axboe
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-29  9:05             ` Paolo Valente
     [not found]             ` <1401354343-5527-12-git-send-email-paolo.valente-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-05-30 15:46               ` Tejun Heo
2014-05-30 15:46                 ` Tejun Heo
     [not found]                 ` <20140530154654.GE24871-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-05-30 22:01                   ` Paolo Valente
2014-05-30 22:01                     ` Paolo Valente
2014-05-31 11:52               ` Tejun Heo
2014-05-31 11:52                 ` Tejun Heo
     [not found]                 ` <20140531115216.GB5057-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-06-02  9:26                   ` Paolo Valente
2014-06-02  9:26                     ` Paolo Valente
2014-06-03 17:11                     ` Tejun Heo
2014-06-03 17:11                       ` Tejun Heo
     [not found]                       ` <20140603171124.GE26210-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-06-04  7:29                         ` Paolo Valente
2014-06-04  7:29                           ` Paolo Valente
     [not found]                           ` <03CDD106-DB18-4E8F-B3D6-2AAD45782A06-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-06-04 13:56                             ` Tejun Heo
2014-06-04 13:56                           ` Tejun Heo
2014-06-04 13:56                             ` Tejun Heo
     [not found]                             ` <20140604135627.GB5004-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-06-16 10:46                               ` Paolo Valente
2014-06-16 10:46                                 ` Paolo Valente
     [not found]                                 ` <D163E069-ED77-4BF5-A488-9A90C41C60C1-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-06-19  1:14                                   ` Tejun Heo
2014-06-19  1:14                                     ` Tejun Heo
     [not found]                     ` <36BFDB73-AEC2-4B87-9FD6-205E9431E722-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-06-03 17:11                       ` 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-29  9:05             ` Paolo Valente
     [not found]             ` <1401354343-5527-13-git-send-email-paolo.valente-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-05-30 15:51               ` Tejun Heo
2014-05-30 15:51                 ` Tejun Heo
2014-05-31 13:34               ` Tejun Heo
2014-05-31 13:34                 ` Tejun Heo
     [not found]     ` <1401194558-5283-2-git-send-email-paolo.valente-rcYM44yAMweonA0d6jMUrA@public.gmane.org>
2014-05-28 22:19       ` [PATCH RFC RESEND 01/14] block: kconfig update and build bits for BFQ Tejun Heo
2014-05-27 12:42   ` [PATCH RFC RESEND 02/14] block: introduce the BFQ-v0 I/O scheduler paolo
2014-05-27 12:42     ` paolo
2014-05-27 12:42   ` [PATCH RFC RESEND 03/14] block: add hierarchical-support option to kconfig paolo
2014-05-27 12:42     ` 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     ` paolo
2014-05-27 12:42   ` [PATCH RFC RESEND 05/14] block, bfq: improve throughput boosting paolo
2014-05-27 12:42     ` paolo
2014-05-27 12:42   ` [PATCH RFC RESEND 06/14] block, bfq: modify the peak-rate estimator paolo
2014-05-27 12:42     ` 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     ` paolo
2014-05-27 12:42   ` [PATCH RFC RESEND 08/14] block, bfq: improve responsiveness paolo
2014-05-27 12:42     ` 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     ` 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     ` 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     ` 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     ` 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 15:32     ` Vivek Goyal
2014-05-30 16:16     ` Tejun Heo
2014-05-30 16:16       ` Tejun Heo
     [not found]       ` <20140530161650.GH24871-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-05-30 17:09         ` Vivek Goyal
2014-05-30 17:09           ` Vivek Goyal
     [not found]           ` <20140530170958.GF16605-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-30 17:26             ` Tejun Heo
2014-05-30 17:26               ` Tejun Heo
     [not found]               ` <20140530172609.GI24871-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2014-05-30 17:55                 ` Vivek Goyal [this message]
2014-05-30 17:55                   ` Vivek Goyal
     [not found]                   ` <20140530175527.GH16605-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-30 17:59                     ` Tejun Heo
2014-05-30 17:59                   ` Tejun Heo
2014-05-30 17:59                     ` Tejun Heo
2014-05-30 23:33             ` Paolo Valente
2014-05-30 23:33               ` Paolo Valente
     [not found]     ` <20140530153228.GE16605-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-30 16:16       ` Tejun Heo
2014-05-30 17:31   ` Vivek Goyal
2014-05-30 17:31     ` Vivek Goyal
     [not found]     ` <20140530173146.GG16605-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2014-05-30 17:39       ` Tejun Heo
2014-05-30 17:39         ` Tejun Heo
  -- strict thread matches above, loose matches on Subject: below --
2014-05-27 12:42 paolo

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=20140530175527.GH16605@redhat.com \
    --to=vgoyal-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=avanzini.arianna-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=axboe-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org \
    --cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=fchecconi-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=paolo.valente-rcYM44yAMweonA0d6jMUrA@public.gmane.org \
    --cc=posta_paolo-whZMOeQn8C0@public.gmane.org \
    --cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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.