[PATCH BUGFIX V5] block: add missing group association in bio-cloning functions

2016-07-26 Thread Paolo Valente
association in bio-cloning functions. Fixes: da2f0f74cf7d ("Btrfs: add support for blkio controllers") Cc: sta...@vger.kernel.org # v4.3+ Signed-off-by: Paolo Valente Reviewed-by: Nikolay Borisov Reviewed-by: Jeff Moyer Acked-by: Tejun Heo --- Fixed a compilation issue reported by kbuild

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

2016-08-08 Thread Paolo Valente
hed/bfq-v1-suite- results.pdf Signed-off-by: Paolo Valente Signed-off-by: Arianna Avanzini --- block/cfq-iosched.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 932adf

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

2016-08-08 Thread Paolo Valente
all actions are aimed at boosting the throughput, except for when throughput-boosting actions would jeopardize throughput-distribution and latency guarantees. Full details in the commits turning CFQ into BFQ. Signed-off-by: Arianna Avanzini Signed-off-by: Paolo Valente --- block/cfq-iosched.c |

[PATCH V2 21/22] block, bfq: boost the throughput with random I/O on NCQ-capable HDDs

2016-08-08 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 V2 22/22] block, bfq: handle bursts of queue activations

2016-08-08 Thread Paolo Valente
belonging to these bursts. Signed-off-by: Arianna Avanzini Signed-off-by: Paolo Valente --- block/cfq-iosched.c | 401 ++-- 1 file changed, 389 insertions(+), 12 deletions(-) diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 50dab96

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

2016-08-08 Thread Paolo Valente
. http://algogroup.unimore.it/people/paolo/disk_sched/mst-2015.pdf Signed-off-by: Paolo Valente Signed-off-by: Arianna Avanzini --- block/Kconfig.iosched | 3 +- block/cfq-iosched.c | 762 -- 2 files changed, 681 insertions(+), 84 deletions(-) diff --g

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

2016-08-08 Thread Paolo Valente
Andreolini Signed-off-by: Paolo Valente --- block/cfq-iosched.c | 738 +--- 1 file changed, 707 insertions(+), 31 deletions(-) diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index d137ed2..cb0b44b 100644 --- a/block/cfq-iosched.c +++ b/block/cfq

[PATCH V2 10/22] block, bfq: add full hierarchical scheduling and cgroups support

2016-08-08 Thread Paolo Valente
-by: Paolo Valente Signed-off-by: Arianna Avanzini --- block/Kconfig.iosched |7 + block/cfq-iosched.c | 1825 - 2 files changed, 1650 insertions(+), 182 deletions(-) diff --git a/block/Kconfig.iosched b/block/Kconfig.iosched index 92a8475

[PATCH V2 13/22] block, bfq: add more fairness with writes and slow processes

2016-08-08 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 V2 20/22] block, bfq: boost the throughput on NCQ-capable flash-based devices

2016-08-08 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/cfq-iosched.c | 154

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

2016-08-08 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 Valente Sig

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

2016-08-08 Thread Paolo Valente
Avanzini Signed-off-by: Paolo Valente --- block/cfq-iosched.c | 13 - 1 file changed, 13 deletions(-) diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 10761b5..1ab8898 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -2696,12 +2696,6 @@ static inline sector_t

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

2016-08-08 Thread Paolo Valente
Avanzini Signed-off-by: Paolo Valente --- block/cfq-iosched.c | 99 + 1 file changed, 1 insertion(+), 98 deletions(-) diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index afe42fc..5e0daaf 100644 --- a/block/cfq-iosched.c +++ b/block/cfq

[PATCH V2 11/22] block, bfq: improve throughput boosting

2016-08-08 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/cfq-iosched.c | 83 ++--- 1 file changed, 41 insertions(+), 42

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

2016-08-08 Thread Paolo Valente
strong throughput-distribution and latency guarantees. This commit then removes the CFQ mechanism. Signed-off-by: Arianna Avanzini Signed-off-by: Paolo Valente --- block/cfq-iosched.c | 18 ++ 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/block/cfq-iosched.c b/block

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

2016-08-08 Thread Paolo Valente
. For this reason, BFQ implements hierarchical scheduling in such an accurate way to fully preserve its tight service guarantees. This commit removes CFQ's hierarchical support, while one of the next commit then adds BFQ's one. Signed-off-by: Arianna Avanzini Signed-off-by: Paolo Valente --- block

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

2016-08-08 Thread Paolo Valente
t, 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 Signed-off-by: Paolo Valente --- block/cfq-iosched.c | 349 +--- 1 file changed, 4 insertio

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

2016-08-08 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 V2 17/22] block, bfq: reduce latency during request-pool saturation

2016-08-08 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/cfq-iosched.c | 66

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

2016-08-08 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 --- block/cfq-iosched.c | 36 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/block/cfq-iosched.c b/block

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

2016-08-08 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/cfq-iosch

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

2016-08-08 Thread Paolo Valente
-off-by: Arianna Avanzini Signed-off-by: Paolo Valente --- block/cfq-iosched.c | 131 +++- 1 file changed, 26 insertions(+), 105 deletions(-) diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 5e0daaf..329ed2b 100644 --- a/block/cfq

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

2016-08-08 Thread Paolo Valente
cal support block, cfq: get rid of queue preemption block, cfq: get rid of workload 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

Re: [PATCH RFC 09/22] block, cfq: replace CFQ with the BFQ-v0 I/O scheduler

2016-04-14 Thread Paolo Valente
Il giorno 13/apr/2016, alle ore 22:41, Tejun Heo ha scritto: > Hello, > > Sorry about the long delay. > > On Wed, Mar 09, 2016 at 07:34:15AM +0100, Paolo Valente wrote: >> This is probably the focal point of our discussion. Unfortunately, I >> am still not convi

Re: [PATCH RFC 10/22] block, bfq: add full hierarchical scheduling and cgroups support

2016-04-22 Thread Paolo Valente
Il giorno 22/apr/2016, alle ore 20:13, Tejun Heo ha scritto: > Hello, Paolo. > > On Wed, Apr 20, 2016 at 11:32:23AM +0200, Paolo wrote: >> This malfunction seems related to a blkcg behavior that I did not >> expect: the sequential writer changes group continuously. It moves >> from the root

Re: [PATCH RFC 10/22] block, bfq: add full hierarchical scheduling and cgroups support

2016-04-22 Thread Paolo Valente
Il giorno 22/apr/2016, alle ore 20:41, Tejun Heo ha scritto: > Hello, Paolo. > > On Fri, Apr 22, 2016 at 08:19:47PM +0200, Paolo Valente wrote: >>> So, a kworker would jump through different workqueues and issue IOs >>> for different writeback domains an

Re: [PATCH RFC 10/22] block, bfq: add full hierarchical scheduling and cgroups support

2016-04-23 Thread Paolo Valente
Il giorno 22/apr/2016, alle ore 21:32, Tejun Heo ha scritto: > Hello, Paolo. > > On Fri, Apr 22, 2016 at 09:05:14PM +0200, Paolo Valente wrote: >>> Ah, right, I was confused. cic is always associated with the task and >>> yes a writeback worker can trigger blkc

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 ha scritto: > On 11/02/2015 07:31 AM, Paolo Valente wrote: >> From: Arianna Avanzini >> >> In single-queue (block layer) mode,the function null_rq_prep_fn stops >> the device if alloc_cmd fails. Then, on

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 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 comple

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

2015-11-02 Thread Paolo Valente
From: Arianna Avanzini 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 Signed-off-by: Arianna Avanzini --- drivers/block/null_blk.c

[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
, the device is properly restarted for all irqmodes on completions. Signed-off-by: Paolo Valente Signed-off-by: Arianna AVanzini --- drivers/block/null_blk.c | 29 - 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/drivers/block/null_blk.c b/drivers/block

[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 Signed-off-by: Arianna Avanzini --- drivers/block/null_blk.c | 79

Re: [PATCH RFC 09/22] block, cfq: replace CFQ with the BFQ-v0 I/O scheduler

2016-02-20 Thread Paolo Valente
Hi Il giorno 17/feb/2016, alle ore 18:02, Tejun Heo ha scritto: > Hello, > > On Wed, Feb 17, 2016 at 10:02:00AM +0100, Paolo Valente wrote: >> your first statement “bfq is using bandwidth as the virtual time" is >> not very clear to me. In contrast, after that you r

Re: [PATCH RFC 09/22] block, cfq: replace CFQ with the BFQ-v0 I/O scheduler

2016-02-20 Thread Paolo Valente
Il giorno 20/feb/2016, alle ore 11:23, Paolo Valente ha scritto: > Hi > > > If both processes reach ~100MB/s during their service slot, then, with > both a budget- and time-based policy, we can meet the above bandwidth > requirements by just assigning 9 and 1 as

[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 Signed-off-by: Arianna Avanzini --- block/bfq.h

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

2016-02-01 Thread Paolo Valente
-off-by: Arianna Avanzini Signed-off-by: Paolo Valente --- block/cfq-iosched.c | 131 +++- 1 file changed, 26 insertions(+), 105 deletions(-) diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 48ab681..15ee70d 100644 --- a/block/cfq

[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 Valente Sig

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

2016-02-01 Thread Paolo Valente
, by properly restoring the weight-raising state of a queue when it gets back to a non-merged state. Signed-off-by: Arianna Avanzini Signed-off-by: Mauro Andreolini Signed-off-by: Paolo Valente --- block/bfq.h | 85 ++- block/cfq-iosched.c | 713

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

2016-02-01 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.h

[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 Signed-off-by: Arianna Avanzini --- block/cfq-iosched.c | 86 - 1 file changed, 45 insertions(+), 41

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

[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 Signed-off-by: Arianna Avanzini --- block/bfq.h | 2 ++ block/cfq-iosched.c | 53 +++-- 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/block/bfq.h b/block/bfq.h index 68969ba..2960e5d

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

2016-02-01 Thread Paolo Valente
Avanzini Signed-off-by: Paolo Valente --- block/cfq-iosched.c | 99 + 1 file changed, 1 insertion(+), 98 deletions(-) diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 33ae8dd..48ab681 100644 --- a/block/cfq-iosched.c +++ b/block/cfq

[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 03/22] block, cfq: remove deep seek queues logic

2016-02-01 Thread Paolo Valente
all actions are aimed at boosting the throughput, except for when throughput-boosting actions would jeopardize throughput-distribution and latency guarantees. Full details in the commits turning CFQ into BFQ. Signed-off-by: Arianna Avanzini Signed-off-by: Paolo Valente --- block/cfq-iosched.c |

[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 Signed-off-by: Arianna Avanzini --- block/bfq.h | 5 + block/cfq-iosched.c | 51 ++

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

2016-02-01 Thread Paolo Valente
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 Signed-off-by: Paolo Valente Signed-off-by: Arianna Avanzini --- block/Kconfig.iosched

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

2016-02-01 Thread Paolo Valente
belonging to these bursts. Signed-off-by: Arianna Avanzini Signed-off-by: Paolo Valente --- block/bfq.h | 38 +++ block/cfq-iosched.c | 316 2 files changed, 334 insertions(+), 20 deletions(-) diff --git a/block/bfq.h b/block

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

2016-02-01 Thread Paolo Valente
t, 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 Signed-off-by: Paolo Valente --- block/cfq-iosched.c | 349 +--- 1 file changed, 4 insertio

[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 Signed-off-by: Arianna Avanzini --- block/cfq-iosched.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 281943

[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 Signed-off-by: Arianna Avanzini --- block/Kconf

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

2016-02-01 Thread Paolo Valente
strong throughput-distribution and latency guarantees. This commit then removes the CFQ mechanism. Signed-off-by: Arianna Avanzini Signed-off-by: Paolo Valente --- block/cfq-iosched.c | 18 ++ 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/block/cfq-iosched.c b/block

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

2016-02-01 Thread Paolo Valente
. For this reason, BFQ implements hierarchical scheduling in such an accurate way to fully preserve its tight service guarantees. This commit removes CFQ's hierarchical support, while one of the next commit then adds BFQ's one. Signed-off-by: Arianna Avanzini Signed-off-by: Paolo Valente --- block

[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 --- block/cfq-iosched.c | 31 +++ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/block/cfq-iosched.c b/block/cfq

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

2016-02-01 Thread Paolo Valente
Avanzini Signed-off-by: Paolo Valente --- 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 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c @@ -2665,12 +2665,6 @@ static inline sector_t

[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 Signed-off-by: Arianna Avanzini --- block/cfq-iosched.c | 86

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

2013-07-10 Thread Paolo Valente
It is in the first 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 efficienc

[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 Signed-off-by: Paolo Valente --- net/sched/sch_qfq.c | 118

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

2013-07-10 Thread Paolo Valente
. Reported-by: David S. Miller Reported-by: David Laight Signed-off-by: Paolo Valente --- 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 index d51852b..2a0ed50 100644 --- a/net/sched/sch_qfq.c +++ b/net

Re: block, bfq: lockdep circular locking dependency gripe

2020-10-20 Thread Paolo Valente
Hi, that's apparently hard to solve inside bfq. The the ioc of the task is being exited while the task is still inside the code for having an I/O request served. Is still normal? Thanks, Polo > Il giorno 20 ott 2020, alle ore 08:15, Mike Galbraith ha > scritto: > > [ 1917.361401]

Re: [PATCH BUGFIX/IMPROVEMENT 2/6] block, bfq: put reqs of waker and woken in dispatch list

2021-02-05 Thread Paolo Valente
> Il giorno 3 feb 2021, alle ore 12:43, Jan Kara ha scritto: > > On Thu 28-01-21 18:54:05, Paolo Valente wrote: >> >> >>> Il giorno 26 gen 2021, alle ore 17:18, Jens Axboe ha >>> scritto: >>> >>> On 1/26/21 3:50 AM, Paolo Va

Re: [PATCH BUGFIX/IMPROVEMENT 2/6] block, bfq: put reqs of waker and woken in dispatch list

2021-02-09 Thread Paolo Valente
> Il giorno 5 feb 2021, alle ore 11:16, Paolo Valente > ha scritto: > > > >> Il giorno 3 feb 2021, alle ore 12:43, Jan Kara ha scritto: >> >> On Thu 28-01-21 18:54:05, Paolo Valente wrote: >>> >>> >>>> Il giorno 26 gen 2021

Re: [PATCH 1/2] bfq: remove some useless logic of bfq_update_next_in_service()

2021-02-10 Thread Paolo Valente
> Il giorno 10 feb 2021, alle ore 16:21, Jens Axboe ha > scritto: > > On 2/10/21 8:20 AM, Oleksandr Natalenko wrote: >> On Wed, Feb 10, 2021 at 12:13:29PM +0100, Paolo Valente wrote: >>> >>> >>>> Il giorno 29 gen 2021, alle ore 11:51,

Re: [PATCH 1/2] bfq: remove some useless logic of bfq_update_next_in_service()

2021-02-10 Thread Paolo Valente
> Il giorno 29 gen 2021, alle ore 11:51, Chunguang Xu ha > scritto: > > From: Chunguang Xu > > The if statement at the end of the function is obviously useless, > maybe we can delete it. > Thanks for spotting this mistake. Acked-by: Paolo Valente >

Re: [PATCH 2/2] bfq: amend the function name of bfq_may_expire_for_budg_timeout()

2021-02-10 Thread Paolo Valente
> Il giorno 29 gen 2021, alle ore 11:51, Chunguang Xu ha > scritto: > > From: Chunguang Xu > > The function name bfq_may_expire_for_budg_timeout() may be misspelled, > try to fix it. > Ok for me to make this name longer. Thanks, Paolo > Signed-off-by: Chunguang Xu > --- >

Re: [RFC PATCH v2 00/11] bfq: introduce bfq.ioprio for cgroup

2021-03-21 Thread Paolo Valente
> Il giorno 12 mar 2021, alle ore 12:08, brookxu ha > scritto: > > From: Chunguang Xu > Hi Chunguang, > Tasks in the production environment can be roughly divided into > three categories: emergency tasks, ordinary tasks and offline > tasks. Emergency tasks need to be scheduled in real

Re: [PATCH BUGFIX/IMPROVEMENT V2 0/6] revised version of third and last batch of patches

2021-03-20 Thread Paolo Valente
> Il giorno 4 mar 2021, alle ore 18:46, Paolo Valente > ha scritto: > > Hi, > this is the V2 for the third and last batches of patches that I > proposed recently [1]. > > I've tried to address all issues raised in [1]. > > In more detail, main changes for V

Re: [PATCH BUGFIX/IMPROVEMENT 6/6] block, bfq: merge bursts of newly-created queues

2021-02-25 Thread Paolo Valente
> Il giorno 26 gen 2021, alle ore 17:15, Jens Axboe ha > scritto: > > On 1/26/21 3:51 AM, Paolo Valente wrote: >> @@ -2809,6 +2853,12 @@ void bfq_release_process_ref(struct bfq_data *bfqd, >> struct bfq_queue *bfqq) >>

Re: [PATCH BUGFIX/IMPROVEMENT 1/6] block, bfq: always inject I/O of queues blocked by wakers

2021-02-25 Thread Paolo Valente
> Il giorno 26 gen 2021, alle ore 17:17, Jens Axboe ha > scritto: > > On 1/26/21 3:50 AM, Paolo Valente wrote: >> diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c >> index 445cef9c0bb9..a83149407336 100644 >> --- a/block/bfq-iosched.c >> +++ b/block/

[PATCH BUGFIX/IMPROVEMENT V2 2/6] block, bfq: put reqs of waker and woken in dispatch list

2021-03-04 Thread Paolo Valente
and bfqq agree on serving this new I/O request as soon as possible. So this commit puts this new I/O request directly into the dispatch list. Tested-by: Jan Kara Acked-by: Jan Kara Signed-off-by: Paolo Valente --- block/bfq-iosched.c | 44 +++- 1 file changed

[PATCH BUGFIX/IMPROVEMENT V2 5/6] block, bfq: keep shared queues out of the waker mechanism

2021-03-04 Thread Paolo Valente
than throughput benefits. This commit keeps shared queues out of the waker-detection mechanism. Tested-by: Jan Kara Signed-off-by: Paolo Valente --- block/bfq-iosched.c | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index

[PATCH BUGFIX/IMPROVEMENT V2 0/6] revised version of third and last batch of patches

2021-03-04 Thread Paolo Valente
d comments as requested in "block, bfq: put reqs of waker and woken in dispatch list" Thanks, Paolo [1] https://www.spinics.net/lists/linux-block/msg64333.html Paolo Valente (6): block, bfq: always inject I/O of queues blocked by wakers block, bfq: put reqs of waker and woken in d

[PATCH BUGFIX/IMPROVEMENT V2 3/6] block, bfq: make shared queues inherit wakers

2021-03-04 Thread Paolo Valente
will be happy to let bfqq's waker freely inject I/O when they have no I/O. So this commit makes new_bfqq inherit bfqq's waker. Tested-by: Jan Kara Signed-off-by: Paolo Valente --- block/bfq-iosched.c | 42 +++--- 1 file changed, 39 insertions(+), 3 deletions

[PATCH BUGFIX/IMPROVEMENT V2 1/6] block, bfq: always inject I/O of queues blocked by wakers

2021-03-04 Thread Paolo Valente
is not served. So there is virtually no risk of loss of bandwidth for bfqq if this woken queue has I/O dispatched while bfqq is waiting for new I/O. In contrast, this extra I/O injection boosts throughput. This commit performs this extra injection. Tested-by: Jan Kara Signed-off-by: Paolo Valente

[PATCH BUGFIX/IMPROVEMENT V2 4/6] block, bfq: fix weight-raising resume with !low_latency

2021-03-04 Thread Paolo Valente
When the io_latency heuristic is off, bfq_queues must not start to be weight-raised. Unfortunately, by mistake, this may happen when the state of a previously weight-raised bfq_queue is resumed after a queue split. This commit fixes this error. Tested-by: Jan Kara Signed-off-by: Paolo Valente

[PATCH BUGFIX/IMPROVEMENT V2 6/6] block, bfq: merge bursts of newly-created queues

2021-03-04 Thread Paolo Valente
shows a throughput boost of 40%, with a quadcore. Since BFQ's execution time amounts to ~50% of the total per-request processing time, the above throughput boost implies that BFQ's overhead is reduced by more than 50%. Tested-by: Jan Kara Signed-off-by: Paolo Valente --- block/bfq-cgroup.c | 2

Re: [bugreport 5.9-rc8] general protection fault, probably for non-canonical address 0x46b1b0f0d8856e4a: 0000 [#1] SMP NOPTI

2021-03-05 Thread Paolo Valente
I'm thinking of a way to debug this too. The symptom may hint at a use-after-free. Could you enable KASAN in your tests? (On the flip side, I know this might change timings, thereby making the fault disappear). Thanks, Paolo > Il giorno 5 mar 2021, alle ore 10:27, Ming Lei ha > scritto: >

<    7   8   9   10   11   12