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
] 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
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
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
-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
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
-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
)-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
, 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
, 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
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
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
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
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
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
-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
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
] 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
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
, 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
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
, 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
-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
] 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
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
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
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.
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
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
.
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
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
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
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
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
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
:
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
/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
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
-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
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
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
-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
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
/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
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
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
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
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
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
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
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
--
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
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
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
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
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
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
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
.
Definitely, thanks,
Paolo
Thanks.
--
tejun
--
Paolo Valente
Algogroup
Dipartimento di Fisica, Informatica e Matematica
Via Campi, 213/B
41125 Modena - Italy
homepage: http
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
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.
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
…
Thanks,
Paolo
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures)
http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
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
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
, 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
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
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>
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
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
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
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
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
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
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>
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 +
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
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 &
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
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
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
, "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:
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 ++--
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
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
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 +
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>
--
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(-)
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
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
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
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
>
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
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
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
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
...@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
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
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
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 - 100 of 1178 matches
Mail list logo