> 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
> 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
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:
>
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
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
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
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
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
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
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
> 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)
>>
> 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/
> 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,
> 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
> ---
>
> 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
>
> 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
> 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
> Il giorno 28 gen 2021, alle ore 18:54, Paolo Valente
> ha scritto:
>
>
>
>> Il giorno 26 gen 2021, alle ore 17:18, Jens Axboe ha
>> scritto:
>>
>> On 1/26/21 3:50 AM, Paolo Valente wrote:
>>> Consider a new I/O request that arrives
> Il giorno 1 feb 2021, alle ore 08:32, Lin Feng ha scritto:
>
> Hi, it seems that this patch was blocked by linux mailist servers, so ping
> again.
>
> Based on
> https://patchwork.kernel.org/project/linux-block/patch/20201210094433.25491-1-j...@suse.cz/,
> it looks like we have made a
> Il giorno 29 gen 2021, alle ore 12:18, Lin Feng ha scritto:
>
> This reverts commit 6d4d273588378c65915acaf7b2ee74e9dd9c130a.
>
> bfq.limit_depth passes word_depths[] as shallow_depth down to sbitmap core
> sbitmap_get_shallow, which uses just the number to limit the scan depth of
> each
> Il giorno 26 gen 2021, alle ore 17:18, Jens Axboe ha
> scritto:
>
> On 1/26/21 3:50 AM, Paolo Valente wrote:
>> Consider a new I/O request that arrives for a bfq_queue bfqq. If, when
>> this happens, the only active bfq_queues are bfqq and either its waker
>>
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
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 17 -
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git
Hi,
here's batch 3/3.
Thanks,
Paolo
Paolo Valente (6):
block, bfq: always inject I/O of queues blocked by wakers
block, bfq: put reqs of waker and woken in dispatch list
block, bfq: make shared queues inherit wakers
block, bfq: fix weight-raising resume with !low_latency
block, bfq
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
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
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
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
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
To prevent weight-raising information from being lost on bfq_queue merging,
also the amount of service that a bfq_queue receives must be saved and
restored when the bfq_queue is merged and split, respectively.
Tested-by: Jan Kara
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 2
weight-raising, if its interactive period is
not over yet. But this case is not handled. This commit corrects this
error.
Tested-by: Jan Kara
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 22 --
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/block/bfq
promoted to actual waker.
Tested-by: Jan Kara
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 211 +---
block/bfq-iosched.h | 7 +-
2 files changed, 108 insertions(+), 110 deletions(-)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index
To prevent injection information from being lost on bfq_queue merging,
also the amount of service that a bfq_queue receives must be saved and
restored when the bfq_queue is merged and split, respectively.
Tested-by: Jan Kara
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 8
.
Tested-by: Jan Kara
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 24 +++-
1 file changed, 19 insertions(+), 5 deletions(-)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index db393f5d70ba..6a02a12ff553 100644
--- a/block/bfq-iosched.c
+++ b/block/bfq
Hi,
here's batch 2/3.
Thanks,
Paolo
Paolo Valente (6):
block, bfq: replace mechanism for evaluating I/O intensity
block, bfq: re-evaluate convenience of I/O plugging on rq arrivals
block, bfq: fix switch back from soft-rt weitgh-raising
block, bfq: save also weight-raised service
the percentage of time during which a bfq_queue
is active, and marks the bfq_queue as I/O bound if the latter if this
percentage is above a fixed threshold.
Tested-by: Jan Kara
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 63 +++--
block/bfq-iosched.h
> Il giorno 25 gen 2021, alle ore 10:40, Stephen Rothwell
> ha scritto:
>
> Hi all,
>
> In commit
>
> d4fc3640ff36 ("block, bfq: set next_rq to waker_bfqq->next_rq in waker
> injection")
>
> Fixes tag
>
> Fixes: c5089591c3ba ("block, bfq: detect wakers and unconditionally inject
>
Tests on slower machines showed current window to be way too
small. This commit increases it.
Tested-by: Jan Kara
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index
ueues.
This commit corrects this mistake.
Fixes: c5089591c3ba ("block, bfq: detect wakers and unconditionally inject
their I/O")
Signed-off-by: Jia Cheng Hu
Signed-off-by: Jan Kara
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 2 +-
1 file changed, 1 insertion(+), 1 deleti
to be effective as a think-time threshold. This commit
mitigates this problem (by a lot, according to tests), by halving the
threshold.
Tested-by: Jan Kara
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/block/bfq-iosched.c b
_rq in waker injection
Paolo Valente (5):
block, bfq: use half slice_idle as a threshold to check short ttime
block, bfq: increase time window for waker detection
block, bfq: do not raise non-default weights
block, bfq: avoid spurious switches to soft_rt of interactive queues
block, bfq:
silently changing the same weight.
Tested-by: Jan Kara
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 10 +++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index 43e2c39cf7b5..161badb744d6 100644
--- a/block/bfq-iosched.c
.
- the bfq_queue is empty; in this case, the bfq_queue may be
considered unjustly soft_rt when its new I/O arrives. Yet
the problem is now much smaller than before, because it is
unlikely that more than one spurious fluctuation occurs.
Tested-by: Jan Kara
Signed-off-by: Paolo
. By doing so, I/O-dispatch plugging is performed for bfqq.
Tested-by: Jan Kara
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 22 --
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index 003c96fa01ad..c045613ce927
> Il giorno 22 gen 2021, alle ore 19:19, Paolo Valente
> ha scritto:
>
> Hi,
>
> about nine months ago, Jan (Kara, SUSE) reported a throughput
> regression with BFQ. That was the beginning of a fruitful dev
> collaboration, which led to 18 new commits. Part are
> Il giorno 14 gen 2021, alle ore 13:24, Yu Kuai ha
> scritto:
>
> Now the group scheduling in BFQ depends on the check of active group,
> but in most cases group scheduling is not used and the checking
> of active group will cause bfq_asymmetric_scenario() and its caller
>
> Il giorno 20 ott 2020, alle ore 18:54, Jens Axboe ha
> scritto:
>
> On 10/20/20 1:15 AM, Paolo Valente wrote:
>>> Il giorno 20 ott 2020, alle ore 08:15, Mike Galbraith ha
>>> scritto:
>>>
>>> [ 1917.361401]
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]
> Il giorno 9 lug 2020, alle ore 10:19, Dmitry Monakhov
> ha scritto:
>
> Paolo Valente writes:
>
>>> Il giorno 8 lug 2020, alle ore 19:48, Dmitry Monakhov
>>> ha scritto:
>>>
>>> Paolo Valente writes:
>>>
>>&g
> Il giorno 8 lug 2020, alle ore 19:48, Dmitry Monakhov
> ha scritto:
>
> Paolo Valente writes:
>
>> Hi,
>> sorry for the delay. The commit you propose to drop fix the issues
>> reported in [1].
>>
>> Such a commit does introduce the le
Hi,
sorry for the delay. The commit you propose to drop fix the issues
reported in [1].
Such a commit does introduce the leak that you report (thank you for
spotting it). Yet, according to the threads mentioned in [1],
dropping that commit would take us back to those issues.
Maybe the solution
Jens, Tejun,
can we proceed with this double-interface solution?
Thanks,
Paolo
> Il giorno 1 ott 2019, alle ore 21:33, Paolo Valente
> ha scritto:
>
> Hi Jens,
>
> the first patch in this series is Tejun's patch for making BFQ disable
> io.cost. The second patch m
Hi,
I see an important interface problem. Userspace has been waiting for
io.weight to become eventually the file name for setting the weight
for the proportional-share policy [1,2]. If you use that name, how
will we solve this?
Thanks,
Paolo
[1]
> Il giorno 8 ago 2019, alle ore 12:21, Sander Eikelenboom
> ha scritto:
>
> On 08/08/2019 11:10, Paolo Valente wrote:
>>
>>
>>> Il giorno 8 ago 2019, alle ore 11:05, Sander Eikelenboom
>>> ha scritto:
>>>
>>> L.S.,
>>&
> Il giorno 8 ago 2019, alle ore 11:05, Sander Eikelenboom
> ha scritto:
>
> L.S.,
>
> While testing a linux 5.3-rc3 kernel on my Xen server I come across the splat
> below when trying to shutdown all the VM's.
> This is after the server has ran for a few days without any problem. It seems
Hi Jens,
this is a hopefully complete version of the fix proposed by Guenter [1].
Thanks,
Paolo
[1] https://lkml.org/lkml/2019/7/22/824
Paolo Valente (1):
block, bfq: handle NULL return value by bfq_init_rq()
block/bfq-iosched.c | 14 +++---
1 file changed, 11 insertions(+), 3
-terminal starts in 1.5 seconds after this fix, against 15
seconds before the fix (as a reference, gnome-terminal takes about 35
seconds to start with any of the other I/O schedulers).
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 67 +
1 file
> Il giorno 6 giu 2019, alle ore 12:26, Christoph Hellwig ha
> scritto:
>
> This option is entirely bfq specific, give it an appropinquate name.
>
> Also make it depend on CONFIG_BFQ_GROUP_IOSCHED in Kconfig, as all
> the functionality already does so anyway.
>
> Il giorno 22 mag 2019, alle ore 12:01, Srivatsa S. Bhat
> ha scritto:
>
> On 5/22/19 2:09 AM, Paolo Valente wrote:
>>
>> First, thank you very much for testing my patches, and, above all, for
>> sharing those huge traces!
>>
>> According
> Il giorno 20 mag 2019, alle ore 12:19, Paolo Valente
> ha scritto:
>
>
>
>> Il giorno 18 mag 2019, alle ore 22:50, Srivatsa S. Bhat
>> ha scritto:
>>
>> On 5/18/19 11:39 AM, Paolo Valente wrote:
>>> I've addressed these issues in my last
> Il giorno 8 apr 2019, alle ore 17:13, Jens Axboe ha scritto:
>
> On 4/8/19 9:08 AM, Johannes Thumshirn wrote:
>> On Mon, Apr 08, 2019 at 09:05:19AM -0600, Jens Axboe wrote:
>>> I did consider that, and that would be doable. But honestly, I'm having a
>>> hard time seeing what issue we are
> Il giorno 8 apr 2019, alle ore 17:05, Jens Axboe ha scritto:
>
> On 4/8/19 9:04 AM, Johannes Thumshirn wrote:
>> [+Cc Michal ]
>> On Mon, Apr 08, 2019 at 04:54:39PM +0200, Paolo Valente wrote:
>>>
>>>
>>>> Il giorno 8 apr 2019, a
> Il giorno 1 apr 2019, alle ore 10:55, Dmitrii Tcvetkov
> ha scritto:
>
> On Mon, 1 Apr 2019 09:29:16 +0200
> Paolo Valente wrote:
>>
>>
>>> Il giorno 29 mar 2019, alle ore 15:10, Jens Axboe
>>> ha scritto:
>>>
>>> On 3/2
> This time when building without CONFIG_BFQ_GROUP_IOSCHED, see below..
>
> On 3/10/19 7:11 PM, Paolo Valente wrote:
>> From: Francesco Pollicino
>> The function "bfq_log_bfqq" prints the pid of the process
>> associated with the queue passed as input.
>> Unfo
basically just pass I/O requests to the drive as fast as possible.
[1] https://github.com/Algodev-github/S
Tested-by: Francesco Pollicino
Signed-off-by: Alessio Masola
Signed-off-by: Paolo Valente
---
block/bfq-cgroup.c | 3 +-
block/bfq-iosched.c | 73
-off-by: Paolo Valente
---
block/bfq-iosched.c | 14 ++
1 file changed, 14 insertions(+)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index b96be3764b8a..d34b80e5c47d 100644
--- a/block/bfq-iosched.c
+++ b/block/bfq-iosched.c
@@ -242,6 +242,14 @@ static struct kmem_cache
ctly resumed when the queue is
recycled, then the weight of the recycled queue could differ
from the weight of the original queue.
This commit adds the missing save & resume of the weight.
Signed-off-by: Francesco Pollicino
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 2 ++
b
of control on process latencies.
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 64 -
1 file changed, 51 insertions(+), 13 deletions(-)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index d34b80e5c47d..500b04df9efa 100644
--- a/block
The execution time of BFQ has been slightly lowered. Report the new
execution time in BFQ documentation.
Signed-off-by: Paolo Valente
---
Documentation/block/bfq-iosched.txt | 29 ++---
1 file changed, 22 insertions(+), 7 deletions(-)
diff --git a/Documentation/block
this issue by printing SHARED instead of a pid
if the queue is shared.
Signed-off-by: Francesco Pollicino
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 10 ++
block/bfq-iosched.h | 23 +++
2 files changed, 29 insertions(+), 4 deletions(-)
diff --git a/block/bfq
ing daemon enjoying a higher weight than normal processes.
With this commit, the throughput grows from ~100 MB/s to ~150 MB/s on
a PLEXTOR PX-256M5.
Tested-by: Francesco Pollicino
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 417
block/bfq
second, instead of 2 seconds, if, in parallel, five files are
being read sequentially, and five more files are being written
sequentially
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index
than normal processes. Before
this commit, the total throughput was ~80 MB/sec on a PLEXTOR PX-256M5,
after this commit it is ~100 MB/sec.
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 204 +---
block/bfq-iosched.h | 6 +-
block/bfq-wf2q.c
Francesco Pollicino (2):
block, bfq: print SHARED instead of pid for shared queues in logs
block, bfq: save & resume weight on a queue merge/split
Paolo Valente (7):
block, bfq: increase idling for weight-raised queues
block, bfq: do not idle for lowest-weight queues
block, bfq
-off-by: Paolo Valente
---
block/bfq-iosched.c | 14 ++
1 file changed, 14 insertions(+)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index b96be3764b8a..d34b80e5c47d 100644
--- a/block/bfq-iosched.c
+++ b/block/bfq-iosched.c
@@ -242,6 +242,14 @@ static struct kmem_cache
second, instead of 2 seconds, if, in parallel, five files are
being read sequentially, and five more files are being written
sequentially
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index
ctly resumed when the queue is
recycled, then the weight of the recycled queue could differ
from the weight of the original queue.
This commit adds the missing save & resume of the weight.
Signed-off-by: Francesco Pollicino
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 2 ++
b
this issue by printing SHARED instead of a pid
if the queue is shared.
Signed-off-by: Francesco Pollicino
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 10 ++
block/bfq-iosched.h | 18 --
2 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/block/bfq-i
than normal processes. Before
this commit, the total throughput was ~80 MB/sec on a PLEXTOR PX-256M5,
after this commit it is ~100 MB/sec.
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 204 +---
block/bfq-iosched.h | 6 +-
block/bfq-wf2q.c
basically just pass I/O requests to the drive as fast as possible.
[1] https://github.com/Algodev-github/S
Tested-by: Francesco Pollicino
Signed-off-by: Alessio Masola
Signed-off-by: Paolo Valente
---
block/bfq-cgroup.c | 3 +-
block/bfq-iosched.c | 73
of control on process latencies.
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 64 -
1 file changed, 51 insertions(+), 13 deletions(-)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index d34b80e5c47d..500b04df9efa 100644
--- a/block
ing daemon enjoying a higher weight than normal processes.
With this commit, the throughput grows from ~100 MB/s to ~150 MB/s on
a PLEXTOR PX-256M5.
Tested-by: Francesco Pollicino
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 417
block/bfq
/lkml/2019/1/29/368
Thanks,
Paolo
Francesco Pollicino (2):
block, bfq: print SHARED instead of pid for shared queues in logs
block, bfq: save & resume weight on a queue merge/split
Paolo Valente (6):
block, bfq: increase idling for weight-raised queues
block, bfq: do not idle for lo
inconsistent. This commit
solves this problem by lower-bounding the budget computed in
bfq_updated_next_req to the service currently charged to the queue.
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/block/bfq-iosched.c b
ero hw_tag. But this is because cfq doesn't dispatch enough requests
instead of hardware queue doesn't work. Don't zero hw_tag in such case.
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/block/bfq-iosched.c b/block/bfq-iosch
uest could happen to be redirected to a different
bfq_queue. As a consequence, the destination bfq_queue stored in the
request could be wrong. Such an event does not need to ba handled any
longer.
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 2 --
1 file changed, 2 deletions(-)
diff --g
a further reference to the queue when the
weight of a queue is added, because the queue might otherwise be freed
before bfq_weights_tree_remove is invoked. This commit adds this
reference and makes all related modifications.
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 17
strong I/O
control. bfq does this enforcing when the scenario is asymmetric,
i.e., when some bfq_queue or group of bfq_queues is to be granted a
different bandwidth than some other bfq_queue or group of
bfq_queues. So, in such a scenario, this commit disables write
overcharging.
Signed-off-by: Paolo
-by: Paolo Valente
---
block/bfq-iosched.c | 86 -
block/bfq-iosched.h | 8 +++--
block/bfq-wf2q.c| 12 +--
3 files changed, 59 insertions(+), 47 deletions(-)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index a9275ed57726
arrives. This commit draws this missing distinction and does
not perform harmful plugging.
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 31 +--
1 file changed, 17 insertions(+), 14 deletions(-)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index
s.
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 346 +---
1 file changed, 165 insertions(+), 181 deletions(-)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index a6fe60114ade..c1bb5e5fcdc4 100644
--- a/block/bfq-iosched.c
+++ b/block/bfq
-off-by: Paolo Valente
---
block/bfq-iosched.c | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index c1bb5e5fcdc4..12228af16198 100644
--- a/block/bfq-iosched.c
+++ b/block/bfq-iosched.c
@@ -235,6 +235,11 @@ static struct
and issue I/O with a low depth.
To reduce false negatives, this commit lowers the threshold.
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index bf585ad29bb5..48b579032d14
This is a preparatory commit for commits that need to check only one
of the two main reasons for idling. This change should also improve
the quality of the code a little bit, by splitting a function that
contains very long, non-trivial and little related comments.
Signed-off-by: Paolo Valente
selected for service. This would only
cause useless overhead. This commit avoids such a useless selection.
Signed-off-by: Paolo Valente
---
block/bfq-iosched.c | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
index c7a4a15c7c19
unexpected loss of control on per-queue service
guarantees.
This commit solves this problem by adding an extra field, which stores
the actual last request dispatched for the in-service queue, and by
using this new field to correctly check case (b).
Signed-off-by: Paolo Valente
---
block/bfq-ios
Hi,
this batch of patches provides fixes and improvements for throughput
and latency. Every patch has been under test for at least one month,
some patches for much longer.
Thanks,
Paolo
Paolo Valente (14):
block, bfq: do not consider interactive queues in srt filtering
block, bfq: avoid
on a
fast device), then soft_rt_next_start is assigned such a high value
that, for a very long time, the queue is prevented from being possibly
considered as soft real time.
This commit removes the updating of soft_rt_next_start for bfq_queues
in interactive weight raising.
Signed-off-by: Paolo
> Il giorno 18 gen 2019, alle ore 14:35, Jens Axboe ha
> scritto:
>
> On 1/18/19 4:52 AM, Paolo Valente wrote:
>> Hi Jens,
>> a user reported a warning, followed by freezes, in case he increases
>> nr_requests to more than 64 [1]. After reproducing the is
> Il giorno 18 gen 2019, alle ore 17:35, Josef Bacik ha
> scritto:
>
> On Fri, Jan 18, 2019 at 11:31:24AM +0100, Andrea Righi wrote:
>> This is a redesign of my old cgroup-io-throttle controller:
>> https://lwn.net/Articles/330531/
>>
>> I'm resuming this old patch to point out a problem
unused variable"). The problem went away.
Maybe the assumption in commit f0635b8a416e ("bfq: calculate shallow
depths at init time") does not hold true?
Thanks,
Paolo
[1] https://bugzilla.kernel.org/show_bug.cgi?id=200813
Paolo Valente (2):
Revert "bfq-iosched: re
1 - 100 of 1178 matches
Mail list logo