Re: [PATCH RFC 01/14] block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler

2017-03-18 Thread Paolo Valente
> Il giorno 06 mar 2017, alle ore 14:40, Bart Van Assche > <bart.vanass...@sandisk.com> ha scritto: > > On 03/04/2017 08:01 AM, Paolo Valente wrote: >> BFQ is a proportional-share I/O scheduler, whose general structure, >> plus a lot of code, are borrowed from CFQ

Re: [PATCH RFC 01/14] block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler

2017-03-18 Thread Paolo Valente
> Il giorno 06 mar 2017, alle ore 14:40, Bart Van Assche > ha scritto: > > On 03/04/2017 08:01 AM, Paolo Valente wrote: >> BFQ is a proportional-share I/O scheduler, whose general structure, >> plus a lot of code, are borrowed from CFQ. >> [ ... ] >

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

2017-03-18 Thread Paolo Valente
> Il giorno 14 mar 2017, alle ore 16:32, Bart Van Assche > <bart.vanass...@sandisk.com> ha scritto: > > On Tue, 2017-03-14 at 16:35 +0100, Paolo Valente wrote: >>> Il giorno 07 mar 2017, alle ore 02:00, Bart Van Assche >>> <bart.vanass...@sandisk

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

2017-03-18 Thread Paolo Valente
> Il giorno 14 mar 2017, alle ore 16:32, Bart Van Assche > ha scritto: > > On Tue, 2017-03-14 at 16:35 +0100, Paolo Valente wrote: >>> Il giorno 07 mar 2017, alle ore 02:00, Bart Van Assche >>> ha scritto: >>> >>> Additionally, the c

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

2017-03-18 Thread Paolo Valente
> Il giorno 15 mar 2017, alle ore 21:00, Jens Axboe <ax...@kernel.dk> ha > scritto: > > On 03/15/2017 10:59 AM, Paolo Valente wrote: >> >>> Il giorno 15 mar 2017, alle ore 17:30, Jens Axboe <ax...@kernel.dk> ha >>> scritto: >>> >&

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

2017-03-18 Thread Paolo Valente
> Il giorno 15 mar 2017, alle ore 21:00, Jens Axboe ha > scritto: > > On 03/15/2017 10:59 AM, Paolo Valente wrote: >> >>> Il giorno 15 mar 2017, alle ore 17:30, Jens Axboe ha >>> scritto: >>> >>> On 03/15/2017 09:47 AM, Jens Axboe wrot

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 <ax...@kernel.dk> 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

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: [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

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 07 mar 2017, alle ore 18:44, Jens Axboe <ax...@kernel.dk> 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

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 00/14] Add the BFQ I/O Scheduler to blk-mq

2017-03-14 Thread Paolo Valente
> Il giorno 07 mar 2017, alle ore 02:00, Bart Van Assche > <bart.vanass...@sandisk.com> ha scritto: > > On Sat, 2017-03-04 at 17:01 +0100, Paolo Valente wrote: >> Finally, a few details on the patchset. >> >> The first two patches introduce BFQ-v0, which

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

2017-03-14 Thread Paolo Valente
> Il giorno 07 mar 2017, alle ore 02:00, Bart Van Assche > ha scritto: > > On Sat, 2017-03-04 at 17:01 +0100, Paolo Valente wrote: >> Finally, a few details on the patchset. >> >> The first two patches introduce BFQ-v0, which is more or less the >> first

Re: [PATCH RFC 01/14] block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler

2017-03-14 Thread Paolo Valente
> Il giorno 06 mar 2017, alle ore 20:40, Bart Van Assche > <bart.vanass...@sandisk.com> ha scritto: > Hi Bart, thanks for such an accurate review. I'm addressing the issues you raised, and I'll get back in touch as soon as I have finished. Paolo > On 03/04/2017 08:01 AM, P

Re: [PATCH RFC 01/14] block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler

2017-03-14 Thread Paolo Valente
> Il giorno 06 mar 2017, alle ore 20:40, Bart Van Assche > ha scritto: > Hi Bart, thanks for such an accurate review. I'm addressing the issues you raised, and I'll get back in touch as soon as I have finished. Paolo > On 03/04/2017 08:01 AM, Paolo Valente wrote: >> BFQ

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

2017-03-14 Thread Paolo Valente
> Il giorno 07 mar 2017, alle ore 01:54, Bart Van Assche > <bart.vanass...@sandisk.com> ha scritto: > > On Sat, 2017-03-04 at 17:01 +0100, Paolo Valente wrote: >> @@ -8301,7 +8297,7 @@ static struct blkcg_policy blkcg_policy_bfq = { >> static int __init bfq_i

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

2017-03-14 Thread Paolo Valente
> Il giorno 07 mar 2017, alle ore 01:54, Bart Van Assche > ha scritto: > > On Sat, 2017-03-04 at 17:01 +0100, Paolo Valente wrote: >> @@ -8301,7 +8297,7 @@ static struct blkcg_policy blkcg_policy_bfq = { >> static int __init bfq_init(void) >> { >> int

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

2017-03-14 Thread Paolo Valente
> Il giorno 07 mar 2017, alle ore 01:22, Bart Van Assche > <bart.vanass...@sandisk.com> ha scritto: > > On 03/04/2017 08:01 AM, Paolo Valente wrote: >> Some patch generates WARNINGS with checkpatch.pl, but these WARNINGS >> seem to be either unavoidable for the

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

2017-03-14 Thread Paolo Valente
> Il giorno 07 mar 2017, alle ore 01:22, Bart Van Assche > ha scritto: > > On 03/04/2017 08:01 AM, Paolo Valente wrote: >> Some patch generates WARNINGS with checkpatch.pl, but these WARNINGS >> seem to be either unavoidable for the involved pieces of code (which &

Re: [PATCH RFC 01/14] block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler

2017-03-14 Thread Paolo Valente
> Il giorno 06 mar 2017, alle ore 21:46, Jens Axboe <ax...@kernel.dk> ha > scritto: > > On 03/05/2017 09:02 AM, Paolo Valente wrote: >> >>> Il giorno 05 mar 2017, alle ore 16:16, Jens Axboe <ax...@kernel.dk> ha >>> scritto: >>> >

Re: [PATCH RFC 01/14] block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler

2017-03-14 Thread Paolo Valente
> Il giorno 06 mar 2017, alle ore 21:46, Jens Axboe ha > scritto: > > On 03/05/2017 09:02 AM, Paolo Valente wrote: >> >>> Il giorno 05 mar 2017, alle ore 16:16, Jens Axboe ha >>> scritto: >>> >>> On 03/04/2017 09:01 AM, Paolo Valente

Re: [PATCH RFC 01/14] block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler

2017-03-05 Thread Paolo Valente
> Il giorno 05 mar 2017, alle ore 16:16, Jens Axboe <ax...@kernel.dk> ha > scritto: > > On 03/04/2017 09:01 AM, Paolo Valente wrote: >> We tag as v0 the version of BFQ containing only BFQ's engine plus >> hierarchical support. BFQ's engine is introduced by this

Re: [PATCH RFC 01/14] block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler

2017-03-05 Thread Paolo Valente
> Il giorno 05 mar 2017, alle ore 16:16, Jens Axboe ha > scritto: > > On 03/04/2017 09:01 AM, Paolo Valente wrote: >> We tag as v0 the version of BFQ containing only BFQ's engine plus >> hierarchical support. BFQ's engine is introduced by this commit, while >>

[PATCH RFC 04/14] block, bfq: modify the peak-rate estimator

2017-03-04 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

[PATCH RFC 04/14] block, bfq: modify the peak-rate estimator

2017-03-04 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

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

2017-03-04 Thread Paolo Valente
ed-off-by: Fabio Checconi <fchecc...@gmail.com> Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> Signed-off-by: Arianna Avanzini <avanzini.aria...@gmail.com> --- Documentation/block/bfq-iosched.txt | 17 +- block/Kconfig.iosched | 10 + block/bfq-iosched.

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

2017-03-04 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 | 2561 ++- include/linux/blkdev.h |2 +- 4 files changed, 2207

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

2017-03-04 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 <paolo.vale...

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

2017-03-04 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 RFC 09/14] block, bfq: reduce latency during request-pool saturation

2017-03-04 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 <paolo.vale...@linaro.org> Signed-off-by: Arianna Avanzini <avanzini.aria...@gmail.com> --- block/b

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

2017-03-04 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 <paol

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

2017-03-04 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 RFC 09/14] block, bfq: reduce latency during request-pool saturation

2017-03-04 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 RFC 14/14] block, bfq: handle bursts of queue activations

2017-03-04 Thread Paolo Valente
idling and weight-raising for the queues belonging to these bursts. Signed-off-by: Arianna Avanzini <avanzini.aria...@gmail.com> Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> --- block/bfq-iosched.c | 406 +--- 1 file changed, 390

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

2017-03-04 Thread Paolo Valente
anzini <avanzini.aria...@gmail.com> Signed-off-by: Mauro Andreolini <mauro.andreol...@unimore.it> Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> --- block/bfq-iosched.c | 885 +--- 1 file changed, 843 insertions(+), 42

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

2017-03-04 Thread Paolo Valente
belonging to these bursts. Signed-off-by: Arianna Avanzini Signed-off-by: Paolo Valente --- block/bfq-iosched.c | 406 +--- 1 file changed, 390 insertions(+), 16 deletions(-) diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index 10d550b

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

2017-03-04 Thread Paolo Valente
Andreolini Signed-off-by: Paolo Valente --- block/bfq-iosched.c | 885 +--- 1 file changed, 843 insertions(+), 42 deletions(-) diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index b22ef42..05b9421 100644 --- a/block/bfq-iosched.c +++ b/block/bfq

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

2017-03-04 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 <paolo.vale...@linaro.org>

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

2017-03-04 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 <paolo.vale...@linaro.org> Signed-off-by: Arianna Avanzini <avan

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

2017-03-04 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 RFC 12/14] block, bfq: boost the throughput on NCQ-capable flash-based devices

2017-03-04 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 RFC 11/14] block, bfq: reduce idling only in symmetric scenarios

2017-03-04 Thread Paolo Valente
...@gmail.com> Signed-off-by: Samuele Zecchini <samuele.zecchin...@gmail.com> Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> --- block/bfq-iosched.c | 269 ++-- 1 file changed, 263 insertions(+), 6 deletions(-) diff --git a/b

[PATCH RFC 11/14] block, bfq: reduce idling only in symmetric scenarios

2017-03-04 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 RFC 08/14] block, bfq: preserve a low latency also with NCQ-capable drives

2017-03-04 Thread Paolo Valente
hed/bfq-v1-suite- results.pdf Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> Signed-off-by: Arianna Avanzini <avanzini.aria...@gmail.com> --- block/bfq-iosched.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)

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

2017-03-04 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 bc4759

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

2017-03-04 Thread Paolo Valente
hierarchical scheduling 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 (10): block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler block, bfq

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

2017-03-04 Thread Paolo Valente
hierarchical scheduling 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 (10): block, bfq: introduce the BFQ-v0 I/O scheduler as an extra scheduler block, bfq

[PATCH RFC 06/14] block, bfq: improve responsiveness

2017-03-04 Thread Paolo Valente
. http://algogroup.unimore.it/people/paolo/disk_sched/mst-2015.pdf Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> Signed-off-by: Arianna Avanzini <avanzini.aria...@gmail.com> --- Documentation/block/bfq-iosched.txt | 9 + block/bfq-iosched.c | 782 +++

[PATCH RFC 06/14] block, bfq: improve responsiveness

2017-03-04 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 | 782 2 files changed, 710 insertions(+), 81 deletions(-)

[PATCH RFC 03/14] block, bfq: improve throughput boosting

2017-03-04 Thread Paolo Valente
unimore.it/people/paolo/disk_sched/bfq-v1-suite- results.pdf Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> Signed-off-by: Arianna Avanzini <avanzini.aria...@gmail.com> --- bl

[PATCH RFC 03/14] block, bfq: improve throughput boosting

2017-03-04 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 | 83 ++--- 1 file changed, 41 insertions(+), 42

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 <ax...@kernel.dk> 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 t

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: [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 > <bart.vanass...@sandisk.com> 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 indicat

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

[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

[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-22 Thread Paolo Valente
> Il giorno 13 feb 2017, alle ore 23:38, Bart Van Assche > <bart.vanass...@sandisk.com> ha scritto: > > On Mon, 2017-02-13 at 22:07 +, Bart Van Assche wrote: >> On Mon, 2017-02-13 at 22:07 +0100, Paolo Valente wrote: >>> but what do you think ab

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

2017-02-22 Thread Paolo Valente
> Il giorno 13 feb 2017, alle ore 23:38, Bart Van Assche > ha scritto: > > On Mon, 2017-02-13 at 22:07 +, Bart Van Assche wrote: >> On Mon, 2017-02-13 at 22:07 +0100, Paolo Valente wrote: >>> but what do you think about trying this fix? >> >> So

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

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

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 <ax...@kernel.dk> ha > scritto: > > On 02/14/2017 01:14 AM, Paolo Valente wrote: >> >>> Il giorno 14 feb 2017, alle ore 00:10, Jens Axboe <ax...@kernel.dk> ha >>> scritto: >>> >>

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 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 <ax...@kernel.dk> 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: >>>>

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: [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 > <paolo.vale...@linaro.org> 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

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

[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

[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 10 feb 2017, alle ore 20:49, Paolo Valente > <paolo.vale...@linaro.org> ha scritto: > >> >> Il giorno 10 feb 2017, alle ore 19:13, Bart Van Assche >> <bart.vanass...@sandisk.com> ha scritto: >> >> On 02/10/2017 08:49 AM,

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] 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 <paolo.vale...@linaro.org> --- 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

[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-10 Thread Paolo Valente
> Il giorno 10 feb 2017, alle ore 19:13, Bart Van Assche > <bart.vanass...@sandisk.com> 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 >>> CON

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: [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 > <bart.vanass...@sandisk.com> 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

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 17:45, Bart Van Assche > <bart.vanass...@sandisk.com> 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 vers

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 17:08, Bart Van Assche > <bart.vanass...@sandisk.com> 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 includ

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: [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 <osan...@osandov.com> 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 <osan...@osandov.com> >>>

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: [PATCH] bfq-mq: cause deadlock by executing exit_icq body immediately

2017-02-08 Thread Paolo Valente
> Il giorno 07 feb 2017, alle ore 22:45, Omar Sandoval <osan...@osandov.com> ha > scritto: > > On Tue, Feb 07, 2017 at 06:33:46PM +0100, Paolo Valente wrote: >> Hi, >> this patch is meant to show that, if the body of the hook exit_icq is >&g

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

2017-02-08 Thread Paolo Valente
> Il giorno 07 feb 2017, alle ore 22:45, Omar Sandoval ha > scritto: > > On Tue, Feb 07, 2017 at 06:33:46PM +0100, Paolo Valente wrote: >> Hi, >> this patch is meant to show that, if the body of the hook exit_icq is >> executed >> from inside

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

2017-02-08 Thread Paolo Valente
> Il giorno 08 feb 2017, alle ore 11:33, Omar Sandoval <osan...@osandov.com> ha > scritto: > > On Wed, Feb 08, 2017 at 11:03:01AM +0100, Paolo Valente wrote: >> >>> Il giorno 07 feb 2017, alle ore 22:45, Omar Sandoval <osan...@osandov.com> >>>

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

2017-02-08 Thread Paolo Valente
> Il giorno 08 feb 2017, alle ore 11:33, Omar Sandoval ha > scritto: > > On Wed, Feb 08, 2017 at 11:03:01AM +0100, Paolo Valente wrote: >> >>> Il giorno 07 feb 2017, alle ore 22:45, Omar Sandoval >>> ha scritto: >>> >>> On Tue, Feb 07,

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

2017-02-07 Thread Paolo Valente
98 [ 44.254690] R10: 7ffc9cc437c8 R11: 0246 R12: 0000 [ 44.255674] R13: 7fd70b523c40 R14: R15: Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> --- block/bfq-mq-iosched.c | 34 +++--- block/bfq

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

2017-02-07 Thread Paolo Valente
98 [ 44.254690] R10: 7ffc9cc437c8 R11: 0246 R12: 0000 [ 44.255674] R13: 7fd70b523c40 R14: R15: Signed-off-by: Paolo Valente --- block/bfq-mq-iosched.c | 34 +++--- block/bfq-mq.h | 3 --- 2 fil

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

2017-02-07 Thread Paolo Valente
> Il giorno 02 feb 2017, alle ore 22:32, Jens Axboe <ax...@fb.com> ha scritto: > > On 02/02/2017 02:15 PM, Paolo Valente wrote: >> >>> Il giorno 02 feb 2017, alle ore 16:30, Jens Axboe <ax...@fb.com> ha scritto: >>> >>> On 02/02/2017 0

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

2017-02-07 Thread Paolo Valente
> Il giorno 02 feb 2017, alle ore 22:32, Jens Axboe ha scritto: > > On 02/02/2017 02:15 PM, Paolo Valente wrote: >> >>> Il giorno 02 feb 2017, alle ore 16:30, Jens Axboe ha scritto: >>> >>> On 02/02/2017 02:19 AM, Paolo Valente wrote: >>>&g

[WIP PATCHSET 2/4] Move thinktime from bic to bfqq

2017-02-07 Thread Paolo Valente
Prep change to make it possible to protect this field with a scheduler lock. Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> --- block/bfq-mq-iosched.c | 28 ++-- block/bfq-mq.h | 30 -- 2 files changed, 30 insertions(

[WIP PATCHSET 2/4] Move thinktime from bic to bfqq

2017-02-07 Thread Paolo Valente
Prep change to make it possible to protect this field with a scheduler lock. Signed-off-by: Paolo Valente --- block/bfq-mq-iosched.c | 28 ++-- block/bfq-mq.h | 30 -- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git

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

2017-02-07 Thread Paolo Valente
-mq.h, which, at the beginning, are just copies of bfq-iosched.c and bfq.h. Thanks, Paolo [1] https://github.com/Algodev-github/bfq-mq Paolo Valente (4): blk-mq: pass bio to blk_mq_sched_get_rq_priv Move thinktime from bic to bfqq Embed bfq-ioc.c and add locking on request queue Modify

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

2017-02-07 Thread Paolo Valente
-mq.h, which, at the beginning, are just copies of bfq-iosched.c and bfq.h. Thanks, Paolo [1] https://github.com/Algodev-github/bfq-mq Paolo Valente (4): blk-mq: pass bio to blk_mq_sched_get_rq_priv Move thinktime from bic to bfqq Embed bfq-ioc.c and add locking on request queue Modify

[WIP PATCHSET 3/4] Embed bfq-ioc.c and add locking on request queue

2017-02-07 Thread Paolo Valente
-ioc.c into bfq-mq-iosched.c, and adds the grabbing of the lock. Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> --- block/bfq-mq-iosched.c | 39 --- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/block/bfq-mq-iosched.c b/block/

[WIP PATCHSET 3/4] Embed bfq-ioc.c and add locking on request queue

2017-02-07 Thread Paolo Valente
-ioc.c into bfq-mq-iosched.c, and adds the grabbing of the lock. Signed-off-by: Paolo Valente --- block/bfq-mq-iosched.c | 39 --- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/block/bfq-mq-iosched.c b/block/bfq-mq-iosched.c index 7e3f429

[WIP PATCHSET 4/4] Modify interface and operation to comply with blk-mq-sched

2017-02-07 Thread Paolo Valente
the scheduler lock, and, if not deferred, 2) it does so from inside the exit_icq hook, which is invoked with the queue lock held, and 3) there is at least one code path, namely that starting from bfq_bio_merge, which takes these locks in the opposite order. Signed-off-by: Paolo Valente <paolo.v

[WIP PATCHSET 4/4] Modify interface and operation to comply with blk-mq-sched

2017-02-07 Thread Paolo Valente
the scheduler lock, and, if not deferred, 2) it does so from inside the exit_icq hook, which is invoked with the queue lock held, and 3) there is at least one code path, namely that starting from bfq_bio_merge, which takes these locks in the opposite order. Signed-off-by: Paolo Valente --- block/bfq

<    2   3   4   5   6   7   8   9   10   11   >