[PATCH RFC] pkt_sched: enable QFQ to support TSO/GSO

2012-10-30 Thread Paolo Valente
case described in the comment to the function slot_insert. [1] http://marc.info/?l=linux-netdevm=134968777902077w=2 [2] http://marc.info/?l=linux-netdevm=135096573507936w=2 [3] http://marc.info/?l=linux-netdevm=134902691421670w=2 Signed-off-by: Paolo Valente paolo.vale...@unimore.it Tested

[PATCH] pkt_sched: enable QFQ to support TSO/GSO

2012-11-05 Thread Paolo Valente
] http://marc.info/?l=linux-netdevm=134968777902077w=2 [2] http://marc.info/?l=linux-netdevm=135096573507936w=2 [3] http://marc.info/?l=linux-netdevm=134902691421670w=2 Signed-off-by: Paolo Valente paolo.vale...@unimore.it Tested-by: Cong Wang amw...@redhat.com Acked-by: Stephen Hemminger shemmin

[PATCH RFC] pkt_sched: enable QFQ to support TSO/GSO

2012-10-29 Thread Paolo Valente
in the comment to the function slot_insert. [1] http://marc.info/?l=linux-netdevm=134968777902077w=2 [2] http://marc.info/?l=linux-netdevm=135096573507936w=2 [3] http://marc.info/?l=linux-netdevm=134902691421670w=2 Signed-off-by: Paolo Valente paolo.vale...@unimore.it --- net/sched/sch_qfq.c | 109

Re: [PATCH RFC] pkt_sched: enable QFQ to support TSO/GSO

2012-10-29 Thread Paolo Valente
Il 29/10/2012 12:08, Cong Wang ha scritto: On 10/29/2012 04:51 PM, Paolo Valente wrote: Hi, if the max packet size for some class (configured through tc) is violated by the actual size of the packets of that class, then QFQ would not schedule classes correctly, and the data structures

[PATCH] pkt_sched: QFQ Plus: fair-queueing service at DRR cost

2012-11-12 Thread Paolo Valente
-sched.pdf [2] http://algo.ing.unimo.it/people/paolo/agg-sched/test-env.tgz Signed-off-by: Paolo Valente paolo.vale...@unimore.it --- net/sched/sch_qfq.c | 832 +++ 1 file changed, 570 insertions(+), 262 deletions(-) diff --git a/net/sched/sch_qfq.c

[PATCH BUGFIX 0/6] pkt_sched: fix little service anomalies and possible crashes of qfq+

2013-03-05 Thread Paolo valente
Il 26/02/2013 23:37, David Miller ha scritto: From: Paolo valente paolo.vale...@unimore.it Date: Tue, 26 Feb 2013 18:02:46 +0100 The portions of the code interested by each fix are small and do not overlap with each other, so I decided to provide just one patch (I hope

[PATCH BUGFIX 1/6] pkt_sched: properly cap timestamps in charge_actual_service

2013-03-05 Thread Paolo valente
-by: Paolo Valente paolo.vale...@unimore.it Reviewed-by: Fabio Checconi fchecc...@gmail.com --- net/sched/sch_qfq.c | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/net/sched/sch_qfq.c b/net/sched/sch_qfq.c index 6ed3765..0f6e2db 100644 --- a/net/sched/sch_qfq.c +++ b

[PATCH BUGFIX 2/6] pkt_sched: fix the update of eligible-group sets

2013-03-05 Thread Paolo valente
)-1, whose value is well defined on a 64-bit architecture, because index_of_flipped_bit = 63, but is in general undefined on a 32-bit architecture if index_of_flipped_bit 31. The fix just replaces 1UL with 1ULL. Signed-off-by: Paolo Valente paolo.vale...@unimore.it Reviewed-by: Fabio Checconi

[PATCH BUGFIX 3/6] pkt_sched: serve activated aggregates immediately if the scheduler is empty

2013-03-05 Thread Paolo valente
, in qfq_dequeue(), to reschedule an aggregate that finishes its budget, then the aggregate is now rescheduled by invoking directly the functions needed. Signed-off-by: Paolo Valente paolo.vale...@unimore.it Reviewed-by: Fabio Checconi fchecc...@gmail.com --- net/sched/sch_qfq.c | 36

[PATCH BUGFIX 4/6] pkt_sched: prevent budget from wrapping around after a dequeue

2013-03-05 Thread Paolo valente
, the latter would wrap around. This fix prevents the budget from wrapping around after any packet dequeue. Signed-off-by: Paolo Valente paolo.vale...@unimore.it Reviewed-by: Fabio Checconi fchecc...@gmail.com --- net/sched/sch_qfq.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion

[PATCH BUGFIX 6/6] pkt_sched: remove a useless invocation of qfq_update_eligible

2013-03-05 Thread Paolo valente
conserving, because update_eligible() is always invoked also at the beginning of qfq_choose_next_agg(). This patch removes the additional invocation of update_eligible() in qfq_deactivate_agg(). Signed-off-by: Paolo Valente paolo.vale...@unimore.it Reviewed-by: Fabio Checconi fchecc...@gmail.com --- net

[PATCH BUGFIX 5/6] pkt_sched: do not allow virtual time to jump if an aggregate is in service

2013-03-05 Thread Paolo valente
in service is eligible. As a consequence, to decide whether there is no eligible aggregate, QFQ+ must also check whether there is no aggregate in service. Signed-off-by: Paolo Valente paolo.vale...@unimore.it Reviewed-by: Fabio Checconi fchecc...@gmail.com --- net/sched/sch_qfq.c |3 ++- 1 file

[PATCH BUGFIX] pkt_sched: fix little service anomalies and possible crashes of qfq+

2013-02-26 Thread Paolo valente
This avoids qfq+ to be occasionally non-work-conserving. 6. Remove useless invocation of qfq_update_eligible from qfq_deactivate_agg There is no need to invoke qfq_update_eligible in qfq_deactivate_agg to keep qfq+ work-conserving. Signed-off-by: Paolo Valente paolo.vale...@unimore.it Reviewed

[PATCH] sched: fix virtual-start-time update in QFQ

2012-09-15 Thread Paolo Valente
value of the ratio max_class_pkt/weight_of_the_class with respect to that of cl. Inserting a class with a too high start time into the bucket list corrupts the data structure and may eventually lead to crashes. This patch limits the maximum start time assigned to a class. Signed-off-by: Paolo Valente

[PATCH RESEND] sched: add missing group change to qfq_change_class

2012-08-07 Thread Paolo Valente
for other classes. This patch adds the missing operations. Signed-off-by: Paolo Valente paolo.vale...@unimore.it --- net/sched/sch_qfq.c | 95 +-- 1 file changed, 69 insertions(+), 26 deletions(-) diff --git a/net/sched/sch_qfq.c b/net/sched

Subject: [PATCH] sched: add missing group change to qfq_change_class

2012-08-05 Thread Paolo Valente
-off-by: Paolo Valente paolo.vale...@unimore.it --- net/sched/sch_qfq.c | 95 +-- 1 file changed, 69 insertions(+), 26 deletions(-) diff --git a/net/sched/sch_qfq.c b/net/sched/sch_qfq.c index 9af01f3..e4723d3 100644 --- a/net/sched/sch_qfq.c +++ b

Re: [PATCH] pkt_sched: QFQ Plus: fair-queueing service at DRR cost

2012-11-20 Thread Paolo Valente
Il 20/11/2012 00:48, David Miller ha scritto: From: Paolo Valente paolo.vale...@unimore.it Date: Mon, 12 Nov 2012 17:48:33 +0100 [This patch received positive feedback from Stephen Hemminger (put in net-next), but no further feedback or decision. So I am (re)sending an updated version

[PATCH] pkt_sched: QFQ Plus: fair-queueing service at DRR cost

2012-11-20 Thread Paolo Valente
] http://algo.ing.unimo.it/people/paolo/agg-sched/test-env.tgz Signed-off-by: Paolo Valente paolo.vale...@unimore.it --- net/sched/sch_qfq.c | 834 +++ 1 file changed, 571 insertions(+), 263 deletions(-) diff --git a/net/sched/sch_qfq.c b/net/sched

Re: [PATCH] pkt_sched: QFQ Plus: fair-queueing service at DRR cost

2012-11-21 Thread Paolo Valente
Il 20/11/2012 19:54, David Miller ha scritto: From: Paolo Valente paolo.vale...@unimore.it Date: Tue, 20 Nov 2012 18:45:13 +0100 - struct sk_buff *skb; + struct sk_buff *skb = NULL; This is not really an improvement, Sorry for trying this silly short cut now the compiler can

[PATCH] pkt_sched: QFQ Plus: fair-queueing service at DRR cost

2012-11-22 Thread Paolo Valente
, can be found in [1]. [1] P. Valente, Reducing the Execution Time of Fair-Queueing Schedulers http://algo.ing.unimo.it/people/paolo/agg-sched/agg-sched.pdf Signed-off-by: Paolo Valente paolo.vale...@unimore.it --- net/sched/sch_qfq.c | 833 +++ 1

Re: [PATCH] pkt_sched: QFQ Plus: fair-queueing service at DRR cost

2012-11-23 Thread Paolo Valente
Il 23/11/2012 20:28, David Miller ha scritto: From: Paolo Valente paolo.vale...@unimore.it Date: Thu, 22 Nov 2012 17:56:20 +0100 +/* + + */ Please don't add useless things like this in your patch. Sorry, I forgot to remove it after I moved the body of the comment to a better place. I have

[PATCH] pkt_sched: QFQ Plus: fair-queueing service at DRR cost

2012-11-23 Thread Paolo Valente
, can be found in [1]. [1] P. Valente, Reducing the Execution Time of Fair-Queueing Schedulers http://algo.ing.unimo.it/people/paolo/agg-sched/agg-sched.pdf Signed-off-by: Paolo Valente paolo.vale...@unimore.it --- net/sched/sch_qfq.c | 830 +++ 1

[PATCH BUGFIX] pkt_sched: fix little service anomalies and possible crashes of qfq+

2012-12-19 Thread Paolo valente
-conserving. Signed-off-by: Paolo Valente paolo.vale...@unimore.it --- net/sched/sch_qfq.c | 72 +++ 1 file changed, 49 insertions(+), 23 deletions(-) diff --git a/net/sched/sch_qfq.c b/net/sched/sch_qfq.c index 6ed3765..01f36a5 100644 --- a/net/sched

[PATCH RFC] pkt_sched: QFQ Plus: fair-queueing service at DRR cost

2012-09-30 Thread Paolo Valente
] http://algo.ing.unimo.it/people/paolo/agg-sched/test-env.tgz Signed-off-by: Paolo Valente paolo.vale...@unimore.it --- net/sched/sch_qfq.c | 826 --- 1 file changed, 592 insertions(+), 234 deletions(-) diff --git a/net/sched/sch_qfq.c b/net/sched

Re: [PATCH RFC] pkt_sched: QFQ Plus: fair-queueing service at DRR cost

2012-10-01 Thread Paolo Valente
Il 01/10/2012 17:31, Stephen Hemminger ha scritto: On Sun, 30 Sep 2012 19:40:49 +0200 Paolo Valente paolo.vale...@unimore.it wrote: Hi, this patch turns QFQ into QFQ+, a faster variant of QFQ that groups classes into aggregates, and uses the original QFQ scheduling algorithm to schedule

Re: [PATCH RFC] pkt_sched: QFQ Plus: fair-queueing service at DRR cost

2012-10-01 Thread Paolo Valente
Il 01/10/2012 17:31, Stephen Hemminger ha scritto: On Sun, 30 Sep 2012 19:40:49 +0200 Paolo Valente paolo.vale...@unimore.it wrote: Hi, this patch turns QFQ into QFQ+, a faster variant of QFQ that groups classes into aggregates, and uses the original QFQ scheduling algorithm to schedule

Re: [PATCH RFC] pkt_sched: QFQ Plus: fair-queueing service at DRR cost

2012-10-01 Thread Paolo Valente
Il giorno 01/ott/2012, alle ore 19:52, Stephen Hemminger ha scritto: On Mon, 01 Oct 2012 19:46:41 +0200 Paolo Valente paolo.vale...@unimore.it wrote: Il 01/10/2012 17:31, Stephen Hemminger ha scritto: On Sun, 30 Sep 2012 19:40:49 +0200 Paolo Valente paolo.vale...@unimore.it wrote: Hi

[PATCH 0/2] pkt_sched: sch_qfq: efficiency and codestyle improvements

2013-07-10 Thread Paolo Valente
patch. 2) That static inline forward declaration is ugly, better to remove the inline tag (let the compiler handle it) or move the function above all the call sites. Done by the second patch. Paolo Valente (2): pkt_sched: sch_qfq: improve efficiency of make_eligible pkt_sched: sch_qfq

[PATCH 2/2] pkt_sched: sch_qfq: remove forward declaration of qfq_update_agg_ts

2013-07-10 Thread Paolo Valente
This patch removes the forward declaration of qfq_update_agg_ts, by moving the definition of the function above its first call. This patch also removes a useless forward declaration of qfq_schedule_agg. Reported-by: David S. Miller da...@davemloft.net Signed-off-by: Paolo Valente paolo.vale

[PATCH 1/2] pkt_sched: sch_qfq: improve efficiency of make_eligible

2013-07-10 Thread Paolo Valente
. Reported-by: David S. Miller da...@davemloft.net Reported-by: David Laight david.lai...@aculab.com Signed-off-by: Paolo Valente paolo.vale...@unimore.it --- net/sched/sch_qfq.c | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/net/sched/sch_qfq.c b/net/sched/sch_qfq.c

[PATCH BUGFIX] pkt_sched: sch_qfq: remove a source of high packet delay/jitter

2013-07-15 Thread Paolo Valente
with the fact that the weight sum used by QFQ+ can now be lower than the maximum possible value. [1] P. Valente, Extending WF2Q+ to support a dynamic traffic mix, Proceedings of AAA-IDEA'05, June 2005. Signed-off-by: Paolo Valente paolo.vale...@unimore.it --- net/sched/sch_qfq.c | 85

[PATCH BUGFIX] pkt_sched: sch_qfq: remove a source of high packet delay/jitter

2013-07-16 Thread Paolo Valente
with the fact that the weight sum used by QFQ+ can now be lower than the maximum possible value. [1] P. Valente, Extending WF2Q+ to support a dynamic traffic mix, Proceedings of AAA-IDEA'05, June 2005. Signed-off-by: Paolo Valente paolo.vale...@unimore.it --- net/sched/sch_qfq.c | 85

Re: [PATCH BUGFIX] pkt_sched: sch_qfq: remove a source of high packet delay/jitter

2013-07-16 Thread Paolo Valente
Il 15/07/2013 20:12, Joe Perches ha scritto: On Mon, 2013-07-15 at 20:01 +0200, Paolo Valente wrote: QFQ+ inherits from QFQ a design choice that may cause a high packet delay/jitter and a severe short-term unfairness. [] diff --git a/net/sched/sch_qfq.c b/net/sched/sch_qfq.c [] @@ -189,6

Re: BFQ speed tests [was Re: [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler]

2014-06-11 Thread Paolo Valente
Il giorno 04/giu/2014, alle ore 12:03, Pavel Machek pa...@ucw.cz ha scritto: Hi! Should this attempt be useless as well, I will, if you do not mind, try by asking you more details about your system and reproducing your configuration as much as I can. Try making BFQ the default

Re: BFQ speed tests [was Re: [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler]

2014-06-11 Thread Paolo Valente
Il giorno 04/giu/2014, alle ore 13:59, Takashi Iwai ti...@suse.de ha scritto: […] I've been using BFQ for a while and noticed also some obvious regression in some operations, notably git, too. For example, git grep regresses badly. I ran test git grep foo /dev/null on linux kernel repos

[PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler

2014-05-29 Thread Paolo Valente
: http://www.algogroup.unimo.it/people/paolo/disk_sched/bf1-v1-suite-results.pdf Arianna Avanzini (1): block, bfq: add Early Queue Merge (EQM) Fabio Checconi (2): block: introduce the BFQ-v0 I/O scheduler block, bfq: add full hierarchical scheduling and cgroups support Paolo Valente (9): block

[PATCH RFC - TAKE TWO - 05/12] block, bfq: add more fairness to boost throughput and reduce latency

2014-05-29 Thread Paolo Valente
/disk_sched/bf1-v1-suite-results.pdf Signed-off-by: Paolo Valente paolo.vale...@unimore.it Signed-off-by: Arianna Avanzini avanzini.aria...@gmail.com --- block/bfq-iosched.c | 50 +- block/bfq.h | 5 + 2 files changed, 50 insertions(+), 5

[PATCH RFC - TAKE TWO - 09/12] block, bfq: reduce latency during request-pool saturation

2014-05-29 Thread Paolo Valente
they need one. Signed-off-by: Paolo Valente paolo.vale...@unimore.it Signed-off-by: Arianna Avanzini avanzini.aria...@gmail.com --- block/bfq-iosched.c | 67 +++-- block/bfq-sched.c | 6 + block/bfq.h | 2 ++ 3 files changed, 63 insertions

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

2014-05-29 Thread Paolo Valente
-results.pdf Signed-off-by: Paolo Valente paolo.vale...@unimore.it Signed-off-by: Arianna Avanzini avanzini.aria...@gmail.com --- block/bfq-iosched.c | 5 +++-- block/bfq.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index

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

2014-05-29 Thread Paolo Valente
should converge more or less quickly to the right value. With the current values of the constants used in the filter, the latter seems to effectively smooth fluctuations and allow the estimator to converge to the actual peak rate with all the devices we tested. Signed-off-by: Paolo Valente paolo.vale

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

2014-05-29 Thread Paolo Valente
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 paolo.vale

[PATCH RFC - TAKE TWO - 06/12] block, bfq: improve responsiveness

2014-05-29 Thread Paolo Valente
-by: Paolo Valente paolo.vale...@unimore.it Signed-off-by: Arianna Avanzini avanzini.aria...@gmail.com --- block/Kconfig.iosched | 8 +- block/bfq-cgroup.c| 15 +++ block/bfq-iosched.c | 355 ++ block/bfq-sched.c | 5 +- block/bfq.h

[PATCH RFC - TAKE TWO - 02/12] block, bfq: add full hierarchical scheduling and cgroups support

2014-05-29 Thread Paolo Valente
processes, if the cgroups interface is not used (as explained in the description of patch 2). In particular, since each node has a full scheduler, each group can be assigned its own weight. Signed-off-by: Fabio Checconi fchecc...@gmail.com Signed-off-by: Paolo Valente paolo.vale...@unimore.it Signed-off

[PATCH RFC - TAKE TWO - 03/12] block, bfq: improve throughput boosting

2014-05-29 Thread Paolo Valente
/people/paolo/disk_sched/bf1-v1-suite-results.pdf Signed-off-by: Paolo Valente paolo.vale...@unimore.it Signed-off-by: Arianna Avanzini avanzini.aria...@gmail.com --- block/bfq-cgroup.c | 2 ++ block/bfq-ioc.c | 2 ++ block/bfq-iosched.c | 88

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

2014-05-29 Thread Paolo Valente
of processes). For this reason, the additional condition for disabling idling for a constantly-seeky queue is that all queues with pending or in-flight requests are constantly seeky. Signed-off-by: Paolo Valente paolo.vale...@unimore.it Signed-off-by: Arianna Avanzini avanzini.aria...@gmail.com --- block

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

2014-05-29 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...@unimore.it Signed-off-by: Arianna Avanzini avanzini.aria

[PATCH RFC - TAKE TWO - 10/12] block, bfq: add Early Queue Merge (EQM)

2014-05-29 Thread Paolo Valente
latency, by properly restoring the weight-raising state of a queue when it gets back to a non-merged state. Signed-off-by: Arianna Avanzini avanzini.aria...@gmail.com Signed-off-by: Mauro Andreolini mauro.andreol...@unimore.it Signed-off-by: Paolo Valente paolo.vale...@unimore.it --- block/bfq

Re: [PATCH RFC - TAKE TWO - 02/12] block, bfq: add full hierarchical scheduling and cgroups support

2014-05-30 Thread Paolo Valente
Il giorno 30/mag/2014, alle ore 17:39, Tejun Heo t...@kernel.org ha scritto: On Fri, May 30, 2014 at 11:37:18AM -0400, Tejun Heo wrote: On Thu, May 29, 2014 at 11:05:33AM +0200, Paolo Valente wrote: diff --git a/include/linux/cgroup_subsys.h b/include/linux/cgroup_subsys.h index 768fe44

Re: [PATCH RFC - TAKE TWO - 02/12] block, bfq: add full hierarchical scheduling and cgroups support

2014-05-30 Thread Paolo Valente
Il giorno 30/mag/2014, alle ore 17:37, Tejun Heo t...@kernel.org ha scritto: On Thu, May 29, 2014 at 11:05:33AM +0200, Paolo Valente wrote: diff --git a/include/linux/cgroup_subsys.h b/include/linux/cgroup_subsys.h index 768fe44..cdd2528 100644 --- a/include/linux/cgroup_subsys.h +++ b

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

2014-05-30 Thread Paolo Valente
Il giorno 30/mag/2014, alle ore 17:46, Tejun Heo t...@kernel.org ha scritto: On Thu, May 29, 2014 at 11:05:42AM +0200, Paolo Valente wrote: This patch boosts the throughput on NCQ-capable flash-based devices, while still preserving latency guarantees for interactive and soft real-time

Re: [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler

2014-05-30 Thread Paolo Valente
Il giorno 30/mag/2014, alle ore 18:07, Tejun Heo t...@kernel.org ha scritto: Hello, Paolo. On Thu, May 29, 2014 at 11:05:31AM +0200, Paolo Valente wrote: this patchset introduces the last version of BFQ, a proportional-share storage-I/O scheduler. BFQ also supports hierarchical scheduling

Re: [PATCH RFC RESEND 00/14] New version of the BFQ I/O Scheduler

2014-05-30 Thread Paolo Valente
-- Paolo Valente Algogroup Dipartimento di Fisica, Informatica e Matematica Via Campi, 213/B 41125 Modena - Italy homepage: http://algogroup.unimore.it/people/paolo/ -- To unsubscribe from

Re: [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler

2014-05-30 Thread Paolo Valente
Il giorno 31/mag/2014, alle ore 01:28, Tejun Heo t...@kernel.org ha scritto: Hello, On Sat, May 31, 2014 at 12:23:01AM +0200, Paolo Valente wrote: I do agree that bfq has essentially the same purpose as cfq. I am not sure that it is what you are proposing, but, in my opinion, since both

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

2014-06-02 Thread Paolo Valente
Il giorno 31/mag/2014, alle ore 13:52, Tejun Heo t...@kernel.org ha scritto: Hello, Paolo. So, I've actually looked at the code. Here are some questions. On Thu, May 29, 2014 at 11:05:42AM +0200, Paolo Valente wrote: + * 1) all active queues have the same weight, + * 2) all active

Re: [PATCH RFC - TAKE TWO - 10/12] block, bfq: add Early Queue Merge (EQM)

2014-06-02 Thread Paolo Valente
Il giorno 01/giu/2014, alle ore 02:03, Tejun Heo t...@kernel.org ha scritto: Hello, On Thu, May 29, 2014 at 11:05:41AM +0200, Paolo Valente wrote: Unfortunately, in the following frequent case the mechanism implemented in CFQ for detecting cooperating processes and merging their queues

Re: [PATCH RFC - TAKE TWO - 09/12] block, bfq: reduce latency during request-pool saturation

2014-06-02 Thread Paolo Valente
Il giorno 31/mag/2014, alle ore 15:54, Tejun Heo t...@kernel.org ha scritto: On Thu, May 29, 2014 at 11:05:40AM +0200, Paolo Valente wrote: This patch introduces an heuristic that reduces latency when the I/O-request pool is saturated. This goal is achieved by disabling device idling

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

2014-06-02 Thread Paolo Valente
Il giorno 31/mag/2014, alle ore 15:48, Tejun Heo t...@kernel.org ha scritto: On Thu, May 29, 2014 at 11:05:39AM +0200, Paolo Valente wrote: This patch addresses this issue by not disabling device idling for This patch addresses this issue by allowing device idling for... weight-raised

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

2014-06-16 Thread Paolo Valente
the accounting and optimization separate. Added to the list of changes to make, thanks. Paolo Thanks. -- tejun -- Paolo Valente Algogroup Dipartimento di Fisica, Informatica e Matematica Via Campi, 213/B 41125 Modena

Re: [PATCH RFC - TAKE TWO - 10/12] block, bfq: add Early Queue Merge (EQM)

2014-06-16 Thread Paolo Valente
. Definitely, thanks, Paolo Thanks. -- tejun -- Paolo Valente Algogroup Dipartimento di Fisica, Informatica e Matematica Via Campi, 213/B 41125 Modena - Italy homepage: http

Re: [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler

2014-06-17 Thread Paolo Valente
Il giorno 02/giu/2014, alle ore 16:29, Jens Axboe ax...@kernel.dk ha scritto: On 2014-05-30 23:16, Tejun Heo wrote: for turning patch #2 into a series of changes for CFQ instead. We need to end up with something where we can potentially bisect our way down to whatever caused any given

Re: [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler

2014-06-03 Thread Paolo Valente
Il giorno 02/giu/2014, alle ore 15:02, Pavel Machek pa...@ucw.cz ha scritto: Hi! Well, it's all about how to actually route the changes and in general whenever avoidable we try to avoid whole-sale code replacement especially when most of the structural code is similar like in this case.

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

2014-06-04 Thread Paolo Valente
Il giorno 03/giu/2014, alle ore 19:11, Tejun Heo t...@kernel.org ha scritto: Hello, On Mon, Jun 02, 2014 at 11:26:07AM +0200, Paolo Valente wrote: #define cond_for_expiring_non_wr (bfqd-hw_tag \ - bfqd-wr_busy_queues 0) + (bfqd

Re: BFQ speed tests [was Re: [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler]

2014-06-04 Thread Paolo Valente
… Thanks, Paolo Pavel -- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html -- Paolo Valente

Re: [PATCH RFC - TAKE TWO - 10/12] block, bfq: add Early Queue Merge (EQM)

2014-06-04 Thread Paolo Valente
Il giorno 03/giu/2014, alle ore 18:28, Tejun Heo t...@kernel.org ha scritto: Hello, On Mon, Jun 02, 2014 at 11:46:45AM +0200, Paolo Valente wrote: I don't really follow the last part. So, the difference is that cooperating queue setup also takes place during bio merge too, right

Re: BFQ speed tests [was Re: [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler]

2014-06-04 Thread Paolo Valente
Il giorno 04/giu/2014, alle ore 13:59, Takashi Iwai ti...@suse.de ha scritto: At Wed, 4 Jun 2014 12:24:30 +0200, Paolo Valente wrote: Il giorno 04/giu/2014, alle ore 12:03, Pavel Machek pa...@ucw.cz ha scritto: Hi! Should this attempt be useless as well, I will, if you do not mind

Re: [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler

2014-07-09 Thread Paolo Valente
, Jun 23, 2014 at 03:53:09PM +0200, Paolo Valente wrote: I will wait shortly for a possible feedback on this proposal, and, then, if nothing has still to be changed or refined, silently start the process. We'll prolly end up doing a few iterations but overall it sounds good to me. Thanks

Re: [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O Scheduler

2014-06-23 Thread Paolo Valente
Il giorno 19/giu/2014, alle ore 04:29, Jens Axboe ax...@kernel.dk ha scritto: On 2014-06-18 18:46, Tejun Heo wrote: Hello, On Tue, Jun 17, 2014 at 05:55:57PM +0200, Paolo Valente wrote: In general, with both a smooth but messy and a sharp but clean transformation, there seems

[PATCH BUGFIX 3/3] null_blk: change type of completion_nsec to unsigned long

2015-11-02 Thread Paolo Valente
From: Arianna Avanzini <avanz...@google.com> This commit at least doubles the maximum value for completion_nsec. This helps in special cases where one wants/needs to emulate an extremely slow I/O (for example to spot bugs). Signed-off-by: Paolo Valente <paolo.vale...@unimore.it>

[PATCH BUGFIX 0/3] null_blk: fix throughout losses and hangs

2015-11-02 Thread Paolo Valente
null_blk: change type of completion_nsec to unsigned long Paolo Valente (1): null_blk: set a separate timer for each command drivers/block/null_blk.c | 94 +--- 1 file changed, 33 insertions(+), 61 deletions(-) -- 1.9.1 -- To unsubscribe from

[PATCH BUGFIX 2/3] null_blk: guarantee device restart in all irq modes

2015-11-02 Thread Paolo Valente
g sure that, if stopped, the device is properly restarted for all irqmodes on completions. Signed-off-by: Paolo Valente <paolo.vale...@unimore.it> Signed-off-by: Arianna AVanzini <avanz...@google.com> --- drivers/block/null_blk.c | 29 - 1 file changed, 16

[PATCH BUGFIX 1/3] null_blk: set a separate timer for each command

2015-11-02 Thread Paolo Valente
the desired one. This commit addresses this issue by replacing per-CPU timers with per-command timers, i.e., by associating an individual timer with each command. Signed-off-by: Paolo Valente <paolo.vale...@unimore.it> Signed-off-by: Arianna Avanzini <avanz...@google.com> --- drivers/bloc

Re: [PATCH BUGFIX 1/3] null_blk: set a separate timer for each command

2015-11-03 Thread Paolo Valente
Il giorno 02/nov/2015, alle ore 17:14, Jens Axboe <ax...@fb.com> ha scritto: > On 11/02/2015 07:31 AM, Paolo Valente wrote: >> For the Timer IRQ mode (i.e., when command completions are delayed), >> there is one timer for each CPU. Each of these timers >> . has a

Re: [PATCH BUGFIX 2/3] null_blk: guarantee device restart in all irq modes

2015-11-03 Thread Paolo Valente
Il giorno 02/nov/2015, alle ore 17:25, Jens Axboe <ax...@fb.com> ha scritto: > On 11/02/2015 07:31 AM, Paolo Valente wrote: >> From: Arianna Avanzini <avanz...@google.com> >> >> In single-queue (block layer) mode,the function null_rq_prep_fn stops >> th

[PATCH BUGFIX V2 1/3] null_blk: set a separate timer for each command

2015-12-01 Thread Paolo Valente
the desired one. This commit addresses this issue by replacing per-CPU timers with per-command timers, i.e., by associating an individual timer with each command. Signed-off-by: Paolo Valente <paolo.vale...@unimore.it> Signed-off-by: Arianna Avanzini <avanz...@google.com> --- drivers/bloc

[PATCH BUGFIX V2 3/3] null_blk: change type of completion_nsec to unsigned long

2015-12-01 Thread Paolo Valente
From: Arianna Avanzini <avanz...@google.com> This commit at least doubles the maximum value for completion_nsec. This helps in special cases where one wants/needs to emulate an extremely slow I/O (for example to spot bugs). Signed-off-by: Paolo Valente <paolo.vale...@unimore.it>

[PATCH BUGFIX V2 2/3] null_blk: guarantee device restart in all irq modes

2015-12-01 Thread Paolo Valente
g sure that, if stopped, the device is properly restarted for all irqmodes on completions. Signed-off-by: Paolo Valente <paolo.vale...@unimore.it> Signed-off-by: Arianna AVanzini <avanz...@google.com> --- Changes V1->V2 - reinstated mq_ops check drivers/block/null_blk.c | 27 +

[PATCH BUGFIX V2 0/3] null_blk: fix throughput losses and hangs

2015-12-01 Thread Paolo Valente
type of completion_nsec to unsigned long Paolo Valente (1): null_blk: set a separate timer for each command drivers/block/null_blk.c | 94 +--- 1 file changed, 33 insertions(+), 61 deletions(-) -- 1.9.1 -- To unsubscribe from this list: send the line

Re: [PATCH BUGFIX 1/3] null_blk: set a separate timer for each command

2015-11-29 Thread Paolo Valente
Hi Jens, this is just to ask you whether you made any decision about these patches, including just not to apply them. Thanks, Paolo Il giorno 03/nov/2015, alle ore 10:01, Paolo Valente <paolo.vale...@unimore.it> ha scritto: > > Il giorno 02/nov/2015, alle ore 17:14, Jens Axboe &

[PATCH RFC 17/22] block, bfq: reduce latency during request-pool saturation

2016-02-01 Thread Paolo Valente
they need one. Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> Signed-off-by: Arianna Avanzini <avanzini.aria...@gmail.com> --- block/bfq.h | 2 ++ block/cfq-iosched.c | 53 +++-- 2 files changed, 53 insertions(+), 2 deleti

[PATCH RFC 00/22] Replace the CFQ I/O Scheduler with BFQ

2016-02-01 Thread Paolo Valente
d type block, bfq: add full 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 Fabio Checconi (1): block, cfq: replace CFQ with the BFQ-v0 I/O scheduler

[PATCH RFC 06/22] block, cfq: get rid of queue preemption

2016-02-01 Thread Paolo Valente
policy. Signed-off-by: Arianna Avanzini <avanzini.aria...@gmail.com> Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> --- block/cfq-iosched.c | 99 + 1 file changed, 1 insertion(+), 98 deletions(-) diff --git a/block/cfq-ios

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

2016-02-01 Thread Paolo Valente
, "Evolution of the BFQ Storage I/O Scheduler", Proceedings of 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: Paolo Valente <paolo.vale...@linaro.org> Signed-off-by:

[PATCH RFC 04/22] block, cfq: remove SSD-related logic

2016-02-01 Thread Paolo Valente
ughput while at the same preserving strong throughput-distribution and latency guarantees. This commit then removes the CFQ mechanism. Signed-off-by: Arianna Avanzini <avanzini.aria...@gmail.com> Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> --- block/cfq-iosched.c | 18 ++--

[PATCH RFC 05/22] block, cfq: get rid of hierarchical support

2016-02-01 Thread Paolo Valente
zini.aria...@gmail.com> Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> --- block/Kconfig.iosched |7 - block/cfq-iosched.c | 2122 - 2 files changed, 163 insertions(+), 1966 deletions(-) diff --git a/block/Kconfig.iosched b/blo

[PATCH RFC 08/22] block, cfq: get rid of latency tunables

2016-02-01 Thread Paolo Valente
warnings. The commit introducing low-latency heuristics in BFQ then restores only the boolean low_latency tunable. Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> --- block/cfq-iosched.c | 31 +++ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a

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

2016-02-01 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.h | 38 +++ block/cfq-iosched.c | 316 +

[PATCH RFC 01/22] block, cfq: remove queue merging for close cooperators

2016-02-01 Thread Paolo Valente
ts then adds EQM. In that commit, we also explain in even more detail why the heuristic removed in this commit fails with an irregularly interleaved I/O. Signed-off-by: Arianna Avanzini <avanzini.aria...@gmail.com> Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> --

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

2016-02-01 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/cfq-iosched.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)

[PATCH RFC 02/22] block, cfq: remove close-based preemption

2016-02-01 Thread Paolo Valente
ed I/O. Signed-off-by: Arianna Avanzini <avanzini.aria...@gmail.com> Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> --- block/cfq-iosched.c | 13 - 1 file changed, 13 deletions(-) diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 72def9c..3084f99 1006

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

2016-02-01 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 10/22] block, bfq: add full hierarchical scheduling and cgroups support

2016-02-01 Thread Paolo Valente
appens, for single processes, if the cgroups interface is not used (as explained in the description of the previous patch). In particular, since each node has a full scheduler, each group can be assigned its own weight. Signed-off-by: Fabio Checconi <fchecc...@gmail.com> Signed-off-by: Paolo Valente

[PATCH RFC 13/22] block, bfq: add more fairness to boost throughput and reduce latency

2016-02-01 Thread Paolo Valente
http://algogroup.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> --- block/bfq.h

[PATCH RFC 03/22] block, cfq: remove deep seek queues logic

2016-02-01 Thread Paolo Valente
> Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> --- block/cfq-iosched.c | 21 - 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 3084f99..2512192 100644 --- a/block/cfq-iosched.c +++ b/block/cf

[PATCH RFC 07/22] block, cfq: get rid of workload type

2016-02-01 Thread Paolo Valente
verall scheduling policy. Signed-off-by: Arianna Avanzini <avanzini.aria...@gmail.com> Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> --- block/cfq-iosched.c | 131 +++- 1 file changed, 26 insertions(+), 105 deletions(-) diff

[PATCH RFC 12/22] block, bfq: modify the peak-rate estimator

2016-02-01 Thread Paolo Valente
ter should converge more or less quickly to the right value. With the current values of the constants used in the filter, the latter seems to effectively smooth fluctuations and allow the estimator to converge to the actual peak rate with all the devices we tested. Signed-off-by: Paolo Vale

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

2016-02-01 Thread Paolo Valente
es low-latency guarantees, by properly restoring the weight-raising state of a queue when it gets back to a non-merged state. Signed-off-by: Arianna Avanzini <avanzini.aria...@gmail.com> Signed-off-by: Mauro Andreolini <mauro.andreol...@unimore.it> Signed-off-by: Paolo Valente <pao

[PATCH RFC 19/22] block, bfq: reduce idling only in symmetric scenarios

2016-02-01 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.h | 46 +++ block/cfq-iosched.c | 225 ++-- 2 files changed, 264 insertion

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

2016-02-01 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 11/22] block, bfq: improve throughput boosting

2016-02-01 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 21/22] block, bfq: boost the throughput with random I/O on NCQ-capable HDDs

2016-02-01 Thread Paolo Valente
assigned to processes and groups of processes). For this reason, the additional condition for disabling idling for a constantly-seeky queue is that all queues with pending or in-flight requests are constantly seeky. Signed-off-by: Paolo Valente <paolo.vale...@linaro.org> Signed-off-by: Arianna Av

  1   2   3   4   5   >