Re: [PATCH BUGFIX] block, bfq: postpone rq preparation to insert or merge

From: Mike Galbraith
Date: Sun May 06 2018 - 22:43:28 EST


On Sun, 2018-05-06 at 09:42 +0200, Paolo Valente wrote:
>
> I've attached a compressed patch (to avoid possible corruption from my
> mailer). I'm little confident, but no pain, no gain, right?
>
> If possible, apply this patch on top of the fix I proposed in this
> thread, just to eliminate possible further noise. Finally, the
> patch content follows.
>
> Hoping for a stroke of luck,

FWIW, box didn't survive the first full build of the morning.

> Paolo
>
> diff --git a/block/bfq-mq-iosched.c b/block/bfq-mq-iosched.c
> index 118f319af7c0..6662efe29b69 100644
> --- a/block/bfq-mq-iosched.c
> +++ b/block/bfq-mq-iosched.c

That doesn't exist in master, so I applied it like so.

---
block/bfq-iosched.c | 4 ++++
1 file changed, 4 insertions(+)

--- a/block/bfq-iosched.c
+++ b/block/bfq-iosched.c
@@ -554,8 +554,12 @@ static void bfq_limit_depth(unsigned int
if (unlikely(bfqd->sb_shift != bt->sb.shift))
bfq_update_depths(bfqd, bt);

+#if 0
data->shallow_depth =
bfqd->word_depths[!!bfqd->wr_busy_queues][op_is_sync(op)];
+#else
+ data->shallow_depth = 1;
+#endif

bfq_log(bfqd, "[%s] wr_busy %d sync %d depth %u",
__func__, bfqd->wr_busy_queues, op_is_sync(op),