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

[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

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

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/

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 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: [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 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 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-03 Thread Paolo Valente
> 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

Re: [PATCH] Revert "bfq: Fix computation of shallow depth"

2021-02-01 Thread Paolo Valente
> 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

Re: [PATCH] Revert "bfq: Fix computation of shallow depth"

2021-02-01 Thread Paolo Valente
> 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

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

2021-01-28 Thread Paolo Valente
> 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 >>

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

2021-01-26 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 Signed-off-by: Paolo Valente --- block/bfq-iosched.c | 17 - 1 file changed, 16 insertions(+), 1 deletion(-) diff --git

[PATCH BUGFIX/IMPROVEMENT 0/6] block, bfq: third and last batch of fixes and improvements

2021-01-26 Thread Paolo Valente
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

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

2021-01-26 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 5/6] block, bfq: keep shared queues out of the waker mechanism

2021-01-26 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 4/6] block, bfq: fix weight-raising resume with !low_latency

2021-01-26 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 6/6] block, bfq: merge bursts of newly-created queues

2021-01-26 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

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

2021-01-26 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 4/6] block, bfq: save also weight-raised service on queue merging

2021-01-26 Thread 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

[PATCH BUGFIX/IMPROVEMENT 3/6] block, bfq: fix switch back from soft-rt weitgh-raising

2021-01-26 Thread Paolo Valente
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

[PATCH BUGFIX/IMPROVEMENT 6/6] block, bfq: make waker-queue detection more robust

2021-01-26 Thread Paolo Valente
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

[PATCH BUGFIX/IMPROVEMENT 5/6] block, bfq: save also injection state on queue merging

2021-01-26 Thread Paolo Valente
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

[PATCH BUGFIX/IMPROVEMENT 2/6] block, bfq: re-evaluate convenience of I/O plugging on rq arrivals

2021-01-26 Thread Paolo Valente
. 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

[PATCH BUGFIX/IMPROVEMENT 0/6] block, bfq: second batch of fixes and improvements

2021-01-26 Thread Paolo Valente
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

[PATCH BUGFIX/IMPROVEMENT 1/6] block, bfq: replace mechanism for evaluating I/O intensity

2021-01-26 Thread Paolo Valente
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

Re: linux-next: Fixes tag needs some work in the block tree

2021-01-25 Thread Paolo Valente
> 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 >

[PATCH BUGFIX/IMPROVEMENT 3/6] block, bfq: increase time window for waker detection

2021-01-22 Thread Paolo Valente
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

[PATCH BUGFIX/IMPROVEMENT 2/6] block, bfq: set next_rq to waker_bfqq->next_rq in waker injection

2021-01-22 Thread Paolo Valente
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

[PATCH BUGFIX/IMPROVEMENT 1/6] block, bfq: use half slice_idle as a threshold to check short ttime

2021-01-22 Thread Paolo Valente
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

[PATCH BUGFIX/IMPROVEMENT 0/6] block, bfq: first bath of fixes and improvements

2021-01-22 Thread Paolo Valente
_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:

[PATCH BUGFIX/IMPROVEMENT 4/6] block, bfq: do not raise non-default weights

2021-01-22 Thread Paolo Valente
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

[PATCH BUGFIX/IMPROVEMENT 5/6] block, bfq: avoid spurious switches to soft_rt of interactive queues

2021-01-22 Thread Paolo Valente
. - 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

[PATCH BUGFIX/IMPROVEMENT 6/6] block, bfq: do not expire a queue when it is the only busy one

2021-01-22 Thread Paolo Valente
. 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

Re: [PATCH BUGFIX/IMPROVEMENT 0/6] block, bfq: first bath of fixes and improvements

2021-01-22 Thread Paolo Valente
> 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

Re: [PATCH] bfq: don't check active group if bfq.weight is not changed

2021-01-22 Thread Paolo Valente
> 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 >

Re: block, bfq: lockdep circular locking dependency gripe

2020-10-21 Thread Paolo Valente
> 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]

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] bfq: fix blkio cgroup leakage

2020-07-09 Thread Paolo Valente
> 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

Re: [PATCH] bfq: fix blkio cgroup leakage

2020-07-09 Thread Paolo Valente
> 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

Re: [PATCH] bfq: fix blkio cgroup leakage

2020-07-08 Thread Paolo Valente
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

Re: [PATCH 0/2] block, bfq: make bfq disable iocost and present a double interface

2019-10-09 Thread Paolo Valente
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

Re: [PATCHSET v3 block/for-linus] IO cost model based work-conserving porportional controller

2019-08-29 Thread Paolo Valente
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]

Re: RIP: e030:bfq_exit_icq_bfqq+0x147/0x1c0

2019-08-08 Thread Paolo Valente
> 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., >>&

Re: RIP: e030:bfq_exit_icq_bfqq+0x147/0x1c0

2019-08-08 Thread Paolo Valente
> 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

[BUGFIX 0/1] handle NULL return value by bfq_init_rq()

2019-08-07 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 1/1] block, bfq: check also in-flight I/O in dispatch plugging

2019-07-15 Thread Paolo Valente
-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

Re: [PATCH 6/6] block: rename CONFIG_DEBUG_BLK_CGROUP to CONFIG_BFQ_CGROUP_DEBUG

2019-06-07 Thread Paolo Valente
> 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. >

Re: CFQ idling kills I/O performance on ext4 with blkio cgroup controller

2019-05-22 Thread Paolo Valente
> 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

Re: CFQ idling kills I/O performance on ext4 with blkio cgroup controller

2019-05-21 Thread Paolo Valente
> 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

Re: [PATCH 1/1] block, bfq: delete "bfq" prefix from cgroup filenames

2019-04-08 Thread Paolo Valente
> 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

Re: [PATCH 1/1] block, bfq: delete "bfq" prefix from cgroup filenames

2019-04-08 Thread Paolo Valente
> 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

Re: Bisected GFP in bfq_bfqq_expire on v5.1-rc1

2019-04-01 Thread Paolo Valente
> 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

Re: [PATCH BUGFIX IMPROVEMENT V2 7/9] block, bfq: print SHARED instead of pid for shared queues in logs

2019-03-11 Thread Paolo Valente
> 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

[PATCH BUGFIX IMPROVEMENT V2 4/9] block, bfq: do not merge queues on flash storage with queueing

2019-03-10 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT V2 5/9] block, bfq: do not tag totally seeky queues as soft rt

2019-03-10 Thread Paolo Valente
-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

[PATCH BUGFIX IMPROVEMENT V2 8/9] block, bfq: save & resume weight on a queue merge/split

2019-03-10 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT V2 6/9] block, bfq: always protect newly-created queues from existing active queues

2019-03-10 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT V2 9/9] doc, block, bfq: add information on bfq execution time

2019-03-10 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT V2 7/9] block, bfq: print SHARED instead of pid for shared queues in logs

2019-03-10 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT V2 3/9] block, bfq: tune service injection basing on request service times

2019-03-10 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT V2 1/9] block, bfq: increase idling for weight-raised queues

2019-03-10 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT V2 2/9] block, bfq: do not idle for lowest-weight queues

2019-03-10 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT V2 0/9] block, bfq: fix bugs, reduce exec time and boost performance

2019-03-10 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 5/8] block, bfq: do not tag totally seeky queues as soft rt

2019-03-07 Thread Paolo Valente
-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

[PATCH BUGFIX IMPROVEMENT 1/8] block, bfq: increase idling for weight-raised queues

2019-03-07 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 8/8] block, bfq: save & resume weight on a queue merge/split

2019-03-07 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 7/8] block, bfq: print SHARED instead of pid for shared queues in logs

2019-03-07 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 2/8] block, bfq: do not idle for lowest-weight queues

2019-03-07 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 4/8] block, bfq: do not merge queues on flash storage with queueing

2019-03-07 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 6/8] block, bfq: always protect newly-created queues from existing active queues

2019-03-07 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 3/8] block, bfq: tune service injection basing on request service times

2019-03-07 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 0/8] block, bfq: fix bugs, reduce exec time and boost performance

2019-03-07 Thread Paolo Valente
/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

[PATCH BUGFIX IMPROVEMENT 03/14] block, bfq: make sure queue budgets are not below service received

2019-01-29 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 12/14] block, bfq: port commit "cfq-iosched: improve hw_tag detection"

2019-01-29 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 04/14] block, bfq: remove case of redirected bic from insert_request

2019-01-29 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 10/14] block, bfq: fix queue removal from weights tree

2019-01-29 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 13/14] block, bfq: do not overcharge writes in asymmetric scenarios

2019-01-29 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 05/14] block, bfq: consider also ioprio classes in symmetry detection

2019-01-29 Thread Paolo Valente
-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

[PATCH BUGFIX IMPROVEMENT 07/14] block, bfq: do not plug I/O of in-service queue when harmful

2019-01-29 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 08/14] block, bfq: unconditionally plug I/O in asymmetric scenarios

2019-01-29 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 09/14] block, bfq: fix sequential rq detection in rate estimation

2019-01-29 Thread Paolo Valente
-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

[PATCH BUGFIX IMPROVEMENT 11/14] block, bfq: reduce threshold for detecting command queueing

2019-01-29 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 06/14] block, bfq: split function bfq_better_to_idle

2019-01-29 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 02/14] block, bfq: avoid selecting a queue w/o budget

2019-01-29 Thread 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

[PATCH BUGFIX IMPROVEMENT 14/14] block, bfq: fix in-service-queue check for queue merging

2019-01-29 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 00/14] batch of patches for next linux release

2019-01-29 Thread Paolo Valente
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

[PATCH BUGFIX IMPROVEMENT 01/14] block, bfq: do not consider interactive queues in srt filtering

2019-01-29 Thread Paolo Valente
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

Re: [PATCH BUGFIX RFC 0/2] reverting two commits causing freezes

2019-01-18 Thread Paolo Valente
> 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

Re: [RFC PATCH 0/3] cgroup: fsio throttle controller

2019-01-18 Thread Paolo Valente
> 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

[PATCH BUGFIX RFC 0/2] reverting two commits causing freezes

2019-01-18 Thread Paolo Valente
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   2   3   4   5   6   7   8   9   10   >