Re: [PATCH RFC 00/14] Add the BFQ I/O Scheduler to blk-mq

2017-03-19 Thread Paolo Valente
> Il giorno 18 mar 2017, alle ore 13:46, Bart Van Assche > ha scritto: > > On Sat, 2017-03-18 at 18:09 +0100, Linus Walleij wrote: >> On Sat, Mar 18, 2017 at 11:52 AM, Paolo Valente >> wrote: >>>> Il giorno 14 mar 2017, alle ore 16:32, Bart Van Assche >

Re: [PATCH RFC 10/14] block, bfq: add Early Queue Merge (EQM)

2017-03-15 Thread Paolo Valente
> Il giorno 07 mar 2017, alle ore 18:44, Jens Axboe ha > scritto: > > On 03/04/2017 09:01 AM, Paolo Valente wrote: >> @@ -560,6 +600,15 @@ struct bfq_data { >> struct bfq_io_cq *bio_bic; >> /* bfqq associated with the task issuing current bio for mergi

Re: [PATCH RFC 10/14] block, bfq: add Early Queue Merge (EQM)

2017-03-15 Thread Paolo Valente
> Il giorno 15 mar 2017, alle ore 17:30, Jens Axboe ha > scritto: > > On 03/15/2017 09:47 AM, Jens Axboe wrote: >> I think you understood me correctly. Currently I think the putting of >> the io context is somewhat of a mess. You have seemingly random places >> where you have to use special

Re: [PATCH RFC 10/14] block, bfq: add Early Queue Merge (EQM)

2017-03-15 Thread Paolo Valente
> Il giorno 15 mar 2017, alle ore 17:56, Jens Axboe ha > scritto: > > On 03/04/2017 09:01 AM, Paolo Valente wrote: >> @@ -6330,7 +7012,41 @@ static void bfq_rq_enqueued(struct bfq_data *bfqd, >> struct bfq_queue *bfqq, >> >> static void __bfq_insert_r

Re: races between blk-cgroup operations and I/O scheds in blk-mq (?)

2017-05-18 Thread Paolo Valente
> Il giorno 17 mag 2017, alle ore 21:12, Tejun Heo ha scritto: > > Hello, > > On Mon, May 15, 2017 at 09:49:13PM +0200, Paolo Valente wrote: >> So, unless you tell me that there are other races I haven't seen, or, >> even worse, that I'm just talking nonsense,

Re: [PATCH BUGFIX] block, bfq: access and cache blkg data only when safe

2017-05-22 Thread Paolo Valente
> Il giorno 19 mag 2017, alle ore 16:37, Jens Axboe ha > scritto: > > On 05/19/2017 02:39 AM, Paolo Valente wrote: >> @@ -692,8 +725,7 @@ void bfq_pd_offline(struct blkg_policy_data *pd) >> /* >> * The idle tree may stil

Re: [PATCH BUGFIX] block, bfq: access and cache blkg data only when safe

2017-05-24 Thread Paolo Valente
> Il giorno 23 mag 2017, alle ore 21:42, Tejun Heo ha scritto: > > Hello, Paolo. > > On Sat, May 20, 2017 at 09:27:33AM +0200, Paolo Valente wrote: >> Consider a process or a group that is moved from a given source group >> to a different group, or simply remov

Re: [block] question about potential null pointer dereference

2017-05-24 Thread Paolo Valente
> Il giorno 23 mag 2017, alle ore 22:52, Gustavo A. R. Silva > ha scritto: > > > Hello everybody, > Hi > While looking into Coverity ID 1408828 I ran into the following piece of code > at block/bfq-wf2q.c:542: > > 542static struct rb_node *bfq_find_deepest(struct rb_node *node) > 543{ >

Re: [PATCH BUGFIX] block, bfq: access and cache blkg data only when safe

2017-05-24 Thread Paolo Valente
> Il giorno 24 mag 2017, alle ore 12:53, Paolo Valente > ha scritto: > >> >> Il giorno 23 mag 2017, alle ore 21:42, Tejun Heo ha >> scritto: >> >> Hello, Paolo. >> >> On Sat, May 20, 2017 at 09:27:33AM +0200, Paolo Valente wrote: &

Re: [PATCH BUGFIX] block, bfq: access and cache blkg data only when safe

2017-05-24 Thread Paolo Valente
> Il giorno 24 mag 2017, alle ore 15:50, Tejun Heo ha scritto: > > Hello, Paolo. > > On Wed, May 24, 2017 at 12:53:26PM +0100, Paolo Valente wrote: >> Exact, but even after all blkgs, as well as the cfq_group and pd, are >> gone, the children cfq_queues of the gone

Re: [kbuild-all] [PATCH V2 16/16] block, bfq: split bfq-iosched.c into multiple source files

2017-04-12 Thread Paolo Valente
> Il giorno 12 apr 2017, alle ore 11:24, Paolo Valente > ha scritto: > >> >> Il giorno 12 apr 2017, alle ore 10:39, Ye Xiaolong >> ha scritto: >> >> On 04/11, Paolo Valente wrote: >>> >>>> Il giorno 02 apr 2017, alle ore 12:

Re: [PATCH V3 00/16] Introduce the BFQ I/O scheduler

2017-04-12 Thread Paolo Valente
> Il giorno 12 apr 2017, alle ore 17:30, Bart Van Assche > ha scritto: > > On Wed, 2017-04-12 at 08:01 +0200, Paolo Valente wrote: >> Where is my mistake? > > I think in the Makefile. How about the patch below? Please note that I'm no > Kbuild expert. > T

[PATCH V4 00/16] Introduce the BFQ I/O scheduler

2017-04-12 Thread Paolo Valente
and cgroups support block, bfq: add Early Queue Merge (EQM) block, bfq: reduce idling only in symmetric scenarios block, bfq: handle bursts of queue activations Paolo Valente (12): block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler block, bfq: improve throughput boosting block

[PATCH V4 03/16] block, bfq: improve throughput boosting

2017-04-12 Thread Paolo Valente
unimore.it/people/paolo/disk_sched/bfq-v1-suite- results.pdf Signed-off-by: Paolo Valente Signed-off-by: Arianna Avanzini --- block/bfq-iosched.c | 87 + 1 file changed, 41 insertions(+), 46

[PATCH V4 08/16] block, bfq: preserve a low latency also with NCQ-capable drives

2017-04-12 Thread Paolo Valente
hed/bfq-v1-suite- results.pdf Signed-off-by: Paolo Valente Signed-off-by: Arianna Avanzini --- block/bfq-iosched.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index 7f94ad

[PATCH V4 15/16] block, bfq: remove all get and put of I/O contexts

2017-04-12 Thread Paolo Valente
by modifying involved operations in such a way to not need to get the above I/O-context references any more. Then it also removes any get and release of these references. Signed-off-by: Paolo Valente --- block/bfq-iosched.c | 143 +--- 1 file changed, 23

[PATCH V4 13/16] block, bfq: boost the throughput with random I/O on NCQ-capable HDDs

2017-04-12 Thread Paolo Valente
disabling idling boosts the throughput on NCQ-capable rotational devices. To not break service guarantees, idling is disabled for NCQ-enabled rotational devices only when the same symmetry conditions considered in the previous patches hold. Signed-off-by: Paolo Valente Signed-off-by: Arianna Avanzini

[PATCH V4 06/16] block, bfq: improve responsiveness

2017-04-12 Thread Paolo Valente
. http://algogroup.unimore.it/people/paolo/disk_sched/mst-2015.pdf Signed-off-by: Paolo Valente Signed-off-by: Arianna Avanzini --- Documentation/block/bfq-iosched.txt | 9 + block/bfq-iosched.c | 740 2 files changed, 675 insertions(+), 74 deletions(-)

[PATCH V4 12/16] block, bfq: boost the throughput on NCQ-capable flash-based devices

2017-04-12 Thread Paolo Valente
of the throughput. In this case, to guarantee the desired throughput distribution, the device must be prevented from prefetching requests. This is exactly what this patch does in asymmetric scenarios. Signed-off-by: Paolo Valente Signed-off-by: Arianna Avanzini --- block/bfq-iosched.c | 154

[PATCH V4 07/16] block, bfq: reduce I/O latency for soft real-time applications

2017-04-12 Thread Paolo Valente
ony requirements, then the end of the weight-raising period for the queue is moved forward, and so on. Note that an application whose associated queue never happens to be empty when it expires will never have the opportunity to be deemed as soft real-time. Signed-off-by: Paolo Valente Signed-

[PATCH V4 11/16] block, bfq: reduce idling only in symmetric scenarios

2017-04-12 Thread Paolo Valente
the First Workshop on Mobile System Technologies (MST-2015), May 2015. http://algogroup.unimore.it/people/paolo/disk_sched/mst-2015.pdf Signed-off-by: Arianna Avanzini Signed-off-by: Riccardo Pizzetti Signed-off-by: Samuele Zecchini Signed-off-by: Paolo Valente --- block/bfq-iosch

[PATCH V4 14/16] block, bfq: handle bursts of queue activations

2017-04-12 Thread Paolo Valente
belonging to these bursts. Signed-off-by: Arianna Avanzini Signed-off-by: Paolo Valente --- block/bfq-iosched.c | 404 ++-- 1 file changed, 389 insertions(+), 15 deletions(-) diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index 549f030

[PATCH V4 10/16] block, bfq: add Early Queue Merge (EQM)

2017-04-12 Thread Paolo Valente
Andreolini Signed-off-by: Paolo Valente --- block/bfq-iosched.c | 881 +--- 1 file changed, 840 insertions(+), 41 deletions(-) diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index deb1f21c..6e7388a 100644 --- a/block/bfq-iosched.c +++ b/block

[PATCH V4 09/16] block, bfq: reduce latency during request-pool saturation

2017-04-12 Thread Paolo Valente
one. Along the same line, if there are weight-raised queues, then this patch halves the service rate of async (write) requests for non-weight-raised queues. Signed-off-by: Paolo Valente Signed-off-by: Arianna Avanzini --- block/bfq-iosched.c | 66

[PATCH V4 02/16] block, bfq: add full hierarchical scheduling and cgroups support

2017-04-12 Thread Paolo Valente
-by: Paolo Valente Signed-off-by: Arianna Avanzini --- Documentation/block/bfq-iosched.txt | 17 +- block/Kconfig.iosched | 10 + block/bfq-iosched.c | 2568 ++- include/linux/blkdev.h |2 +- 4 files changed, 2213

[PATCH V4 05/16] block, bfq: add more fairness with writes and slow processes

2017-04-12 Thread Paolo Valente
Annual International Systems and Storage Conference (SYSTOR '12), June 2012. Slightly extended version: http://algogroup.unimore.it/people/paolo/disk_sched/bfq-v1-suite- results.pdf Signed-off-by: Paolo Valente Signed-off-

[PATCH V4 04/16] block, bfq: modify the peak-rate estimator

2017-04-12 Thread Paolo Valente
no request is silently dropped), the following obvious convergence property holds: the number of requests dispatched MUST become closer and closer to the number of requests completed as the observation interval grows. This is the key property used in this new version of the peak-rate estimator. Signed-off

Re: [PATCH BUGFIX] block, bfq: access and cache blkg data only when safe

2017-05-25 Thread Paolo Valente
> Il giorno 24 mag 2017, alle ore 17:47, Tejun Heo ha scritto: > > Hello, > > On Wed, May 24, 2017 at 05:43:18PM +0100, Paolo Valente wrote: >>> so none of the above objects can be destroyed before the request is >>> done. >> >> ... the issue seem

[PATCH BUGFIX] block, bfq: access and cache blkg data only when safe

2017-05-19 Thread Paolo Valente
_* functions. This commit also removes or updates some stale comments on locking issues related to blk-cgroup operations. Reported-by: Tomas Konir Reported-by: Lee Tibbert Reported-by: Marco Piazza Signed-off-by: Paolo Valente Tested-by: Tomas Konir Tested-by: Lee Tibbert Tested-by: Marco Piazza

Re: [PATCH BUGFIX] block, bfq: access and cache blkg data only when safe

2017-05-20 Thread Paolo Valente
> Il giorno 19 mag 2017, alle ore 16:54, Tejun Heo ha scritto: > > Hello, Paolo. > > On Fri, May 19, 2017 at 10:39:08AM +0200, Paolo Valente wrote: >> Operations on blkg objects in blk-cgroup are protected with the >> request_queue lock, which is no more the lock tha

races between blk-cgroup operations and I/O scheds in blk-mq (?)

2017-05-15 Thread Paolo Valente
Hi Tejun, Jens, and anyone else possibly interested in this issue, I have realized that, while blk-cgroup operation are of course protected by the usual request_queue lock, I/O scheduler operations aren't any longer protected by this same lock in blk-mq. They are protected by a finer-grained

Re: [PATCH V3 00/11] block-throttle: add .high limit

2016-10-14 Thread Paolo Valente
m already thinking about an idleless solution. As I already wrote, I'm willing to help with scheduling in blk-mq. I hope there will be the opportunity to find some way to go at KS. Thanks, Paolo > Thanks. > > -- > tejun -- Paolo Valente Algogroup Dipartimento di Scienze Fisiche, Informatiche e Matematiche Via Campi 213/B 41125 Modena - Italy http://algogroup.unimore.it/people/paolo/

Re: [PATCH V3 00/11] block-throttle: add .high limit

2016-10-16 Thread Paolo Valente
> Il giorno 14 ott 2016, alle ore 20:35, Tejun Heo ha scritto: > > Hello, Paolo. > > On Fri, Oct 14, 2016 at 07:13:41PM +0200, Paolo Valente wrote: >> That said, your 'thus' seems a little too strong: "bfq does not yet >> handle fast SSDs, thus we n

Re: [PATCH 0/8] Throttled background buffered writeback v7

2016-09-09 Thread Paolo Valente
include/linux/writeback.h | 10 > include/trace/events/wbt.h | 153 > lib/Kconfig |3 > lib/Makefile|1 > lib/wbt.c | 679 > > mm/backing-dev.

Re: [PATCH 00/14] introduce the BFQ-v0 I/O scheduler as an extra scheduler

2016-10-29 Thread Paolo Valente
> Il giorno 29 ott 2016, alle ore 16:12, Jens Axboe ha > scritto: > > On 10/28/2016 11:38 PM, Paolo Valente wrote: >> >>> Il giorno 26 ott 2016, alle ore 18:12, Jens Axboe ha >>> scritto: >>> >>> On 10/26/2016 10:04 AM, Paolo Valente wr

[PATCH BUGFIX] block, bfq: use pointer entity->sched_data only if set

2017-05-09 Thread Paolo Valente
ted-by: Tom Harrison Signed-off-by: Paolo Valente --- block/bfq-wf2q.c | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/block/bfq-wf2q.c b/block/bfq-wf2q.c index b4fc3e4..8726ede 100644 --- a/block/bfq-wf2q.c +++ b/block/bfq-wf2q.c @@ -1114,12 +1114,21 @@ static v

[PATCH BUGFIX] block, bfq: stress that low_latency must be off to get max throughput

2017-05-09 Thread Paolo Valente
on this important aspect. This commit addresses this issue by stressing how BFQ configuration must be (easily) changed if the only goal is maximum throughput. Signed-off-by: Paolo Valente --- Documentation/block/bfq-iosched.txt | 17 - block/bfq-iosched.c | 5 + 2 files

Re: [PATCH V3 02/16] block, bfq: add full hierarchical scheduling and cgroups support

2017-04-18 Thread Paolo Valente
> Il giorno 18 apr 2017, alle ore 09:04, Tejun Heo ha scritto: > > Hello, Paolo. > > On Wed, Apr 12, 2017 at 07:22:03AM +0200, Paolo Valente wrote: >> could you elaborate a bit more on this? I mean, cgroups support has >> been in BFQ (and CFQ) for almost ten year

Re: bfq-mq performance comparison to cfq

2017-04-19 Thread Paolo Valente
> Il giorno 19 apr 2017, alle ore 07:01, Bart Van Assche > ha scritto: > > On 04/11/17 00:29, Paolo Valente wrote: >> >>> Il giorno 10 apr 2017, alle ore 17:15, Bart Van Assche >>> ha scritto: >>> >>> On Mon, 2017-04-10 at 11:55 +0200,

Re: [PATCH V3 02/16] block, bfq: add full hierarchical scheduling and cgroups support

2017-04-19 Thread Paolo Valente
> Il giorno 19 apr 2017, alle ore 07:33, Paolo Valente > ha scritto: > >> >> Il giorno 18 apr 2017, alle ore 09:04, Tejun Heo ha >> scritto: >> >> Hello, Paolo. >> >> On Wed, Apr 12, 2017 at 07:22:03AM +0200, Paolo Valente wrote:

Re: [PATCH V4 00/16] Introduce the BFQ I/O scheduler

2017-04-19 Thread Paolo Valente
> Il giorno 12 apr 2017, alle ore 18:23, Paolo Valente > ha scritto: > > Hi, > new patch series, addressing (both) issues raised by Bart [1], and > with block/Makefile fixed as suggested by Bart [2]. > Hi Jens, apparently no complain of any sort on this last series.

Re: [PATCH V4 00/16] Introduce the BFQ I/O scheduler

2017-04-19 Thread Paolo Valente
> Il giorno 19 apr 2017, alle ore 16:33, Jens Axboe ha > scritto: > > On 04/19/2017 03:23 AM, Paolo Valente wrote: >> >>> Il giorno 12 apr 2017, alle ore 18:23, Paolo Valente >>> ha scritto: >>> >>> Hi, >>> new patch series,

[PATCH BUGFIX] block, bfq: update wr_busy_queues if needed on a queue split

2017-06-18 Thread Paolo Valente
-raised busy queues changes. The field wr_busy_queues must then be updated accordingly, but such an update was missing. This commit adds the missing update. Reported-by: Luca Miccio Signed-off-by: Paolo Valente --- block/bfq-iosched.c | 24 +--- 1 file changed, 21 insertions(+), 3

Re: [PATCH BUGFIX] block, bfq: update wr_busy_queues if needed on a queue split

2017-06-19 Thread Paolo Valente
e drop us a note to > help improve the system] > > url: > https://github.com/0day-ci/linux/commits/Paolo-Valente/block-bfq-update-wr_busy_queues-if-needed-on-a-queue-split/20170619-145003 > config: i386-randconfig-x000-201725 (attached as .config) > compiler: gcc-

[PATCH BUGFIX V2] block, bfq: update wr_busy_queues if needed on a queue split

2017-06-19 Thread Paolo Valente
-raised busy queues changes. The field wr_busy_queues must then be updated accordingly, but such an update was missing. This commit adds the missing update. Reported-by: Luca Miccio Signed-off-by: Paolo Valente --- block/bfq-iosched.c | 21 ++--- 1 file changed, 18 insertions(+), 3

Re: [PATCH BUGFIX] block, bfq: access and cache blkg data only when safe

2017-06-08 Thread Paolo Valente
> Il giorno 05 giu 2017, alle ore 10:11, Paolo Valente > ha scritto: > > In blk-cgroup, operations on blkg objects are protected with the > request_queue lock. This is no more the lock that protects > I/O-scheduler operations in blk-mq. In fact, the latter are now > p

[PATCH BUGFIX] block, bfq: access and cache blkg data only when safe

2017-06-05 Thread Paolo Valente
Reported-by: Tomas Konir Reported-by: Lee Tibbert Reported-by: Marco Piazza Signed-off-by: Paolo Valente Tested-by: Tomas Konir Tested-by: Lee Tibbert Tested-by: Marco Piazza --- block/bfq-cgroup.c | 116 +--- block/bfq-iosched.c | 2 +-

Re: [WIP BRANCH] cgroups support in bfq-mq WIP branch

2017-03-02 Thread Paolo Valente
> Il giorno 25 feb 2017, alle ore 19:52, Jens Axboe ha > scritto: > > On 02/25/2017 10:44 AM, Paolo Valente wrote: >> Hi, >> I've just completed cgroups support, and I'd like to highlight the >> main blk-mq issue that I have found along the way. I have pushe

Re: [PATCHSET v6] blk-mq scheduling framework

2017-01-15 Thread Paolo Valente
> Il giorno 11 gen 2017, alle ore 22:39, Jens Axboe ha scritto: > > Another year, another posting of this patchset. The previous posting > was here: > > https://www.spinics.net/lists/kernel/msg2406106.html > > (yes, I've skipped v5, it was fixes on top of v4, not the rework). > > I've

Re: [PATCH 7/8] mq-deadline: add blk-mq adaptation of the deadline IO scheduler

2017-02-01 Thread Paolo Valente
> Il giorno 17 dic 2016, alle ore 01:12, Jens Axboe ha scritto: > > This is basically identical to deadline-iosched, except it registers > as a MQ capable scheduler. This is still a single queue design. > > Signed-off-by: Jens Axboe > --- > block/Kconfig.iosched | 6 + > block/Makefile

Re: [PATCH 7/8] mq-deadline: add blk-mq adaptation of the deadline IO scheduler

2017-02-01 Thread Paolo Valente
> Il giorno 17 dic 2016, alle ore 01:12, Jens Axboe ha scritto: > > This is basically identical to deadline-iosched, except it registers > as a MQ capable scheduler. This is still a single queue design. > > Signed-off-by: Jens Axboe > --- > block/Kconfig.iosched | 6 + > block/Makefile

Re: [PATCH 7/8] mq-deadline: add blk-mq adaptation of the deadline IO scheduler

2017-02-02 Thread Paolo Valente
> Il giorno 02 feb 2017, alle ore 06:19, Jens Axboe ha scritto: > > On 02/01/2017 04:11 AM, Paolo Valente wrote: >>> +static bool dd_bio_merge(struct blk_mq_hw_ctx *hctx, struct bio *bio) >>> +{ >>> + struct request_queue *q = hctx->queue; >>

Re: [PATCH 7/8] mq-deadline: add blk-mq adaptation of the deadline IO scheduler

2017-02-02 Thread Paolo Valente
> Il giorno 02 feb 2017, alle ore 16:30, Jens Axboe ha scritto: > > On 02/02/2017 02:19 AM, Paolo Valente wrote: >> The scheme is clear. One comment, in case it could make sense and >> avoid more complexity: since put_rq_priv is invoked in two different >> contex

Re: [PATCH 6/8] blk-mq-sched: add framework for MQ capable IO schedulers

2017-01-17 Thread Paolo Valente
> Il giorno 17 gen 2017, alle ore 03:47, Jens Axboe ha scritto: > > On 12/22/2016 02:59 AM, Paolo Valente wrote: >> >>> Il giorno 17 dic 2016, alle ore 01:12, Jens Axboe ha scritto: >>> >>> This adds a set of hooks that intercepts the blk-m

Re: [PATCH 6/8] blk-mq-sched: add framework for MQ capable IO schedulers

2017-01-17 Thread Paolo Valente
> Il giorno 17 gen 2017, alle ore 03:47, Jens Axboe ha scritto: > > On 12/22/2016 04:13 AM, Paolo Valente wrote: >> >>> Il giorno 22 dic 2016, alle ore 10:59, Paolo Valente >>> ha scritto: >>> >>>> >>>> I

Re: [PATCHSET v4] blk-mq-scheduling framework

2017-01-17 Thread Paolo Valente
[NEW RESEND ATTEMPT] > Il giorno 17 gen 2017, alle ore 03:47, Jens Axboe ha scritto: > > On 12/22/2016 08:28 AM, Paolo Valente wrote: >> >>> Il giorno 19 dic 2016, alle ore 22:05, Jens Axboe ha scritto: >>> >>> On 12/19/2016 11:21 AM, Paolo Valent

[PATCH BUGFIX] block: make elevator_get robust against cross blk/blk-mq choice

2017-02-13 Thread Paolo Valente
elevator_get fail for these wrong cross choices. Signed-off-by: Paolo Valente --- block/elevator.c | 26 ++ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/block/elevator.c b/block/elevator.c index 27ff1ed..a25bdd9 100644 --- a/block/elevator.c +++ b/block

Re: [WIP PATCHSET 0/4] WIP branch for bfq-mq

2017-02-13 Thread Paolo Valente
> Il giorno 10 feb 2017, alle ore 20:49, Paolo Valente > ha scritto: > >> >> Il giorno 10 feb 2017, alle ore 19:13, Bart Van Assche >> ha scritto: >> >> On 02/10/2017 08:49 AM, Paolo Valente wrote: >>>> $ grep '^C.*_MQ_' .config &g

[PATCH BUGFIX] attempt to fix wrong scheduler selection

2017-02-13 Thread Paolo Valente
, to report this issue, and, second, to propose a possible fix in case you do consider this as a bug. Thanks, Paolo Paolo Valente (1): block: make elevator_get robust against cross blk/blk-mq choice block/elevator.c | 26 ++ 1 file changed, 18 insertions(+), 8 deletions

Re: [WIP PATCHSET 0/4] WIP branch for bfq-mq

2017-02-13 Thread Paolo Valente
> Il giorno 07 feb 2017, alle ore 18:24, Paolo Valente > ha scritto: > > Hi, > > I have finally pushed here [1] the current WIP branch of bfq for > blk-mq, which I have tentatively named bfq-mq. > > This branch *IS NOT* meant for merging into mainline and con

Re: [PATCH BUGFIX] block: make elevator_get robust against cross blk/blk-mq choice

2017-02-14 Thread Paolo Valente
> Il giorno 14 feb 2017, alle ore 00:10, Jens Axboe ha > scritto: > > On 02/13/2017 03:28 PM, Jens Axboe wrote: >> On 02/13/2017 03:09 PM, Omar Sandoval wrote: >>> On Mon, Feb 13, 2017 at 10:01:07PM +0100, Paolo Valente wrote: >>>> If, at boot, a lega

Re: [PATCH BUGFIX] block: make elevator_get robust against cross blk/blk-mq choice

2017-02-14 Thread Paolo Valente
> Il giorno 14 feb 2017, alle ore 16:16, Jens Axboe ha > scritto: > > On 02/14/2017 01:14 AM, Paolo Valente wrote: >> >>> Il giorno 14 feb 2017, alle ore 00:10, Jens Axboe ha >>> scritto: >>> >>> On 02/13/2017 03:28 PM, Jens Axboe w

Re: [PATCH] bfq-mq: cause deadlock by executing exit_icq body immediately

2017-02-10 Thread Paolo Valente
> Il giorno 08 feb 2017, alle ore 18:17, Omar Sandoval ha > scritto: > > On Wed, Feb 08, 2017 at 11:39:24AM +0100, Paolo Valente wrote: >> >>> Il giorno 08 feb 2017, alle ore 11:33, Omar Sandoval >>> ha scritto: >>> >>> On Wed,

Re: [WIP PATCHSET 0/4] WIP branch for bfq-mq

2017-02-10 Thread Paolo Valente
> Il giorno 10 feb 2017, alle ore 17:08, Bart Van Assche > ha scritto: > > On Tue, 2017-02-07 at 18:24 +0100, Paolo Valente wrote: >> [1] https://github.com/Algodev-github/bfq-mq > > Hello Paolo, > > That branch includes two changes of the version suffi

Re: [WIP PATCHSET 0/4] WIP branch for bfq-mq

2017-02-10 Thread Paolo Valente
> Il giorno 10 feb 2017, alle ore 17:45, Bart Van Assche > ha scritto: > > On Tue, 2017-02-07 at 18:24 +0100, Paolo Valente wrote: >> 2) Enable people to test this first version bfq-mq. > > Hello Paolo, > > I installed this version of bfq-mq on a server

Re: [WIP PATCHSET 0/4] WIP branch for bfq-mq

2017-02-10 Thread Paolo Valente
> Il giorno 10 feb 2017, alle ore 19:34, Bart Van Assche > ha scritto: > > On Tue, 2017-02-07 at 18:24 +0100, Paolo Valente wrote: >> (lock assertions, BUG_ONs, ...). > > Hello Paolo, > > If you are using BUG_ON(), does that mean that you are not aware of

Re: [WIP PATCHSET 0/4] WIP branch for bfq-mq

2017-02-10 Thread Paolo Valente
> Il giorno 10 feb 2017, alle ore 19:13, Bart Van Assche > ha scritto: > > On 02/10/2017 08:49 AM, Paolo Valente wrote: >>> $ grep '^C.*_MQ_' .config >>> CONFIG_BLK_MQ_PCI=y >>> CONFIG_MQ_IOSCHED_BFQ=y >>> CONFIG_MQ_IOSCHED_DEADLINE=y >>>

Re: [PATCH 7/8] mq-deadline: add blk-mq adaptation of the deadline IO scheduler

2017-02-16 Thread Paolo Valente
> Il giorno 17 dic 2016, alle ore 01:12, Jens Axboe ha scritto: > > This is basically identical to deadline-iosched, except it registers > as a MQ capable scheduler. This is still a single queue design. > > Signed-off-by: Jens Axboe ... > + > +static void dd_merged_requests(struct

[WIP BRANCH] cgroups support in bfq-mq WIP branch

2017-02-25 Thread Paolo Valente
Hi, I've just completed cgroups support, and I'd like to highlight the main blk-mq issue that I have found along the way. I have pushed the commit that completes the support for cgroups to the usual WIP branch [1]. Before moving to this issue, I have preliminary question about the scheduler

Re: [WIP PATCHSET 0/4] WIP branch for bfq-mq

2017-02-25 Thread Paolo Valente
> Il giorno 24 feb 2017, alle ore 19:44, Bart Van Assche > ha scritto: > > On Wed, 2017-02-22 at 22:29 +0100, Paolo Valente wrote: >> thanks for this second attempt of yours. Although, unfortunately, not >> providing some clear indication of the exact cause of

Re: [PATCH V2 00/22] Replace the CFQ I/O Scheduler with BFQ

2016-09-05 Thread Paolo Valente
Il giorno 05/set/2016, alle ore 17:56, Bartlomiej Zolnierkiewicz ha scritto: > > Hi, > > On Thursday, September 01, 2016 10:39:46 AM Linus Walleij wrote: >> On Thu, Sep 1, 2016 at 12:09 AM, Mark Brown wrote: >> >>> - Do some benchmarks on the current status of the various branches on >>>

Re: [PATCH V2 04/16] block, bfq: modify the peak-rate estimator

2017-04-06 Thread Paolo Valente
> Il giorno 04 apr 2017, alle ore 17:28, Bart Van Assche > ha scritto: > > On Tue, 2017-04-04 at 12:42 +0200, Paolo Valente wrote: >>> Il giorno 31 mar 2017, alle ore 17:31, Bart Van Assche >>> ha scritto: >>> >>> On Fri

Re: [PATCH V2 11/16] block, bfq: reduce idling only in symmetric scenarios

2017-04-07 Thread Paolo Valente
> Il giorno 31 mar 2017, alle ore 17:20, Bart Van Assche > ha scritto: > > On Fri, 2017-03-31 at 14:47 +0200, Paolo Valente wrote: >> + entity->weight_counter = kzalloc(sizeof(struct bfq_weight_counter), >> +GFP

Re: bfq-mq performance comparison to cfq

2017-04-10 Thread Paolo Valente
> Il giorno 10 apr 2017, alle ore 11:05, Andreas Herrmann > ha scritto: > > Hi Paolo, > > I've looked at your WIP branch as of 4.11.0-bfq-mq-rc4-00155-gbce0818 > and did some fio tests to compare the behavior to CFQ. > > My understanding is that bfq-mq is supposed to be merged sooner or >

Re: bfq-mq performance comparison to cfq

2017-04-11 Thread Paolo Valente
> Il giorno 10 apr 2017, alle ore 11:55, Paolo Valente > ha scritto: > >> >> Il giorno 10 apr 2017, alle ore 11:05, Andreas Herrmann >> ha scritto: >> >> Hi Paolo, >> >> I've looked at your WIP branch as of 4.11.0-bfq-mq-rc4-00155-gbce081

Re: bfq-mq performance comparison to cfq

2017-04-11 Thread Paolo Valente
> Il giorno 10 apr 2017, alle ore 17:15, Bart Van Assche > ha scritto: > > On Mon, 2017-04-10 at 11:55 +0200, Paolo Valente wrote: >> That said, if you do always want maximum throughput, even at the >> expense of latency, then just switch off low-latency heuristics,

Re: [PATCH V2 00/16] Introduce the BFQ I/O scheduler

2017-04-11 Thread Paolo Valente
> Il giorno 10 apr 2017, alle ore 18:56, Bart Van Assche > ha scritto: > > On Fri, 2017-03-31 at 14:47 +0200, Paolo Valente wrote: >> [ ... ] > > Hello Paolo, > > Is the git tree that is available at https://github.com/Algodev-github/bfq-mq > appropriate for

Re: [PATCH V2 16/16] block, bfq: split bfq-iosched.c into multiple source files

2017-04-11 Thread Paolo Valente
gt; help improve the system] > Hi, this seems to be a false positive. Build is correct with the tested tree and the .config. Thanks, Paolo > url: > https://github.com/0day-ci/linux/commits/Paolo-Valente/block-bfq-introduce-the-BFQ-v0-I-O-scheduler-as-an-extra-scheduler/20170402-100622

[PATCH V3 00/16] Introduce the BFQ I/O scheduler

2017-04-11 Thread Paolo Valente
in symmetric scenarios block, bfq: handle bursts of queue activations Paolo Valente (12): block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler block, bfq: improve throughput boosting block, bfq: modify the peak-rate estimator block, bfq: add more fairness with writes and slow

[PATCH V3 03/16] block, bfq: improve throughput boosting

2017-04-11 Thread Paolo Valente
unimore.it/people/paolo/disk_sched/bfq-v1-suite- results.pdf Signed-off-by: Paolo Valente Signed-off-by: Arianna Avanzini --- block/bfq-iosched.c | 87 + 1 file changed, 41 insertions(+), 46

[PATCH V3 07/16] block, bfq: reduce I/O latency for soft real-time applications

2017-04-11 Thread Paolo Valente
ony requirements, then the end of the weight-raising period for the queue is moved forward, and so on. Note that an application whose associated queue never happens to be empty when it expires will never have the opportunity to be deemed as soft real-time. Signed-off-by: Paolo Valente Signed-

[PATCH V3 02/16] block, bfq: add full hierarchical scheduling and cgroups support

2017-04-11 Thread Paolo Valente
-by: Paolo Valente Signed-off-by: Arianna Avanzini --- Documentation/block/bfq-iosched.txt | 17 +- block/Kconfig.iosched | 10 + block/bfq-iosched.c | 2568 ++- include/linux/blkdev.h |2 +- 4 files changed, 2213

[PATCH V3 13/16] block, bfq: boost the throughput with random I/O on NCQ-capable HDDs

2017-04-11 Thread Paolo Valente
disabling idling boosts the throughput on NCQ-capable rotational devices. To not break service guarantees, idling is disabled for NCQ-enabled rotational devices only when the same symmetry conditions considered in the previous patches hold. Signed-off-by: Paolo Valente Signed-off-by: Arianna Avanzini

[PATCH V3 12/16] block, bfq: boost the throughput on NCQ-capable flash-based devices

2017-04-11 Thread Paolo Valente
of the throughput. In this case, to guarantee the desired throughput distribution, the device must be prevented from prefetching requests. This is exactly what this patch does in asymmetric scenarios. Signed-off-by: Paolo Valente Signed-off-by: Arianna Avanzini --- block/bfq-iosched.c | 154

[PATCH V3 15/16] block, bfq: remove all get and put of I/O contexts

2017-04-11 Thread Paolo Valente
by modifying involved operations in such a way to not need to get the above I/O-context references any more. Then it also removes any get and release of these references. Signed-off-by: Paolo Valente --- block/bfq-iosched.c | 143 +--- 1 file changed, 23

[PATCH V3 14/16] block, bfq: handle bursts of queue activations

2017-04-11 Thread Paolo Valente
belonging to these bursts. Signed-off-by: Arianna Avanzini Signed-off-by: Paolo Valente --- block/bfq-iosched.c | 404 ++-- 1 file changed, 389 insertions(+), 15 deletions(-) diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index 549f030

[PATCH V3 11/16] block, bfq: reduce idling only in symmetric scenarios

2017-04-11 Thread Paolo Valente
the First Workshop on Mobile System Technologies (MST-2015), May 2015. http://algogroup.unimore.it/people/paolo/disk_sched/mst-2015.pdf Signed-off-by: Arianna Avanzini Signed-off-by: Riccardo Pizzetti Signed-off-by: Samuele Zecchini Signed-off-by: Paolo Valente --- block/bfq-iosch

[PATCH V3 10/16] block, bfq: add Early Queue Merge (EQM)

2017-04-11 Thread Paolo Valente
Andreolini Signed-off-by: Paolo Valente --- block/bfq-iosched.c | 881 +--- 1 file changed, 840 insertions(+), 41 deletions(-) diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index deb1f21c..6e7388a 100644 --- a/block/bfq-iosched.c +++ b/block

[PATCH V3 08/16] block, bfq: preserve a low latency also with NCQ-capable drives

2017-04-11 Thread Paolo Valente
hed/bfq-v1-suite- results.pdf Signed-off-by: Paolo Valente Signed-off-by: Arianna Avanzini --- block/bfq-iosched.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index 7f94ad

[PATCH V3 06/16] block, bfq: improve responsiveness

2017-04-11 Thread Paolo Valente
. http://algogroup.unimore.it/people/paolo/disk_sched/mst-2015.pdf Signed-off-by: Paolo Valente Signed-off-by: Arianna Avanzini --- Documentation/block/bfq-iosched.txt | 9 + block/bfq-iosched.c | 740 2 files changed, 675 insertions(+), 74 deletions(-)

[PATCH V3 09/16] block, bfq: reduce latency during request-pool saturation

2017-04-11 Thread Paolo Valente
one. Along the same line, if there are weight-raised queues, then this patch halves the service rate of async (write) requests for non-weight-raised queues. Signed-off-by: Paolo Valente Signed-off-by: Arianna Avanzini --- block/bfq-iosched.c | 66

[PATCH V3 05/16] block, bfq: add more fairness with writes and slow processes

2017-04-11 Thread Paolo Valente
Annual International Systems and Storage Conference (SYSTOR '12), June 2012. Slightly extended version: http://algogroup.unimore.it/people/paolo/disk_sched/bfq-v1-suite- results.pdf Signed-off-by: Paolo Valente Signed-off-

[PATCH V3 04/16] block, bfq: modify the peak-rate estimator

2017-04-11 Thread Paolo Valente
no request is silently dropped), the following obvious convergence property holds: the number of requests dispatched MUST become closer and closer to the number of requests completed as the observation interval grows. This is the key property used in this new version of the peak-rate estimator. Signed-off

Re: [PATCH V3 00/16] Introduce the BFQ I/O scheduler

2017-04-11 Thread Paolo Valente
> Il giorno 11 apr 2017, alle ore 16:37, Bart Van Assche > ha scritto: > > On Tue, 2017-04-11 at 15:42 +0200, Paolo Valente wrote: >> new patch series, addressing (both) issues raised by Bart [1]. > > Hello Paolo, > > Is there a git tree available somewhere

Re: [PATCH V3 02/16] block, bfq: add full hierarchical scheduling and cgroups support

2017-04-11 Thread Paolo Valente
> Il giorno 11 apr 2017, alle ore 23:47, Tejun Heo ha scritto: > > Hello, > > On Tue, Apr 11, 2017 at 03:43:01PM +0200, Paolo Valente wrote: >> From: Arianna Avanzini >> >> Add complete support for full hierarchical scheduling, with a cgroups >>

Re: [PATCH V3 00/16] Introduce the BFQ I/O scheduler

2017-04-12 Thread Paolo Valente
> Il giorno 11 apr 2017, alle ore 20:31, Bart Van Assche > ha scritto: > > On Tue, 2017-04-11 at 19:37 +0200, Paolo Valente wrote: >> Just pushed: >> https://github.com/Algodev-github/bfq-mq/tree/add-bfq-mq-logical > > Thanks! > > But are you aware that t

Re: [kbuild-all] [PATCH V2 16/16] block, bfq: split bfq-iosched.c into multiple source files

2017-04-12 Thread Paolo Valente
> Il giorno 12 apr 2017, alle ore 10:39, Ye Xiaolong ha > scritto: > > On 04/11, Paolo Valente wrote: >> >>> Il giorno 02 apr 2017, alle ore 12:02, kbuild test robot >>> ha scritto: >>> >>> Hi Paolo, >>> >>> [auto bui

Re: bfq-mq performance comparison to cfq

2017-04-26 Thread Paolo Valente
(Patrick, Morten, Peter, Joel, > Andres). > > On 19/04/17 09:02, Paolo Valente wrote: >> >>> Il giorno 19 apr 2017, alle ore 07:01, Bart Van Assche >>> ha scritto: >>> >>> On 04/11/17 00:29, Paolo Valente wrote: >>>> >>>&

Re: [PATCH] MAINTAINERS: bfq: Add Paolo as maintainer for the BFQ I/O scheduler

2017-04-28 Thread Paolo Valente
l/trace/blktrace.c > F:lib/sbitmap.c > > +BFQ I/O SCHEDULER > +M: Paolo Valente > +M: Jens Axboe > +L: linux-bl...@vger.kernel.org > +S: Maintained > +F: block/bfq-* > +F: Documentation/block/bfq-iosched.txt > + > BLOCK2MTD DRIVER > M:Joern Engel > L:linux-...@lists.infradead.org > -- > 2.7.4 >

Re: [PATCH V2 04/16] block, bfq: modify the peak-rate estimator

2017-04-04 Thread Paolo Valente
> Il giorno 31 mar 2017, alle ore 17:31, Bart Van Assche > ha scritto: > > On Fri, 2017-03-31 at 14:47 +0200, Paolo Valente wrote: >> -static bool bfq_update_peak_rate(struct bfq_data *bfqd, struct bfq_queue >> *bfqq, >> -bo

<    5   6   7   8   9   10   11   12   >