All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Mike Galbraith <efault@gmx.de>, Paolo Valente <paolo.valente@linaro.org>
Cc: Christoph Hellwig <hch@lst.de>,
	linux-block <linux-block@vger.kernel.org>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Oleksandr Natalenko <oleksandr@natalenko.name>
Subject: Re: bug in tag handling in blk-mq?
Date: Tue, 8 May 2018 19:09:04 -0600	[thread overview]
Message-ID: <57952405-bdeb-f4e4-1aef-a7c0a8a68674@kernel.dk> (raw)
In-Reply-To: <f04636df-3f97-6c16-f37b-d407e062b9e5@kernel.dk>

On 5/8/18 3:19 PM, Jens Axboe wrote:
> On 5/8/18 2:37 PM, Jens Axboe wrote:
>> On 5/8/18 10:42 AM, Mike Galbraith wrote:
>>> On Tue, 2018-05-08 at 08:55 -0600, Jens Axboe wrote:
>>>>
>>>> All the block debug files are empty...
>>>
>>> Sigh.  Take 2, this time cat debug files, having turned block tracing
>>> off before doing anything else (so trace bits in dmesg.txt should end
>>> AT the stall).
>>
>> OK, that's better. What I see from the traces:
>>
>> - You have regular IO and some non-fs IO (from scsi_execute()). This mix
>>   may be key.
>>
>> - sdd has nothing pending, yet has 6 active waitqueues.
>>
>> I'm going to see if I can reproduce this. Paolo, what kind of attempts
>> to reproduce this have you done?
> 
> No luck so far. Out of the patches you referenced, I can only find the
> shallow depth change, since that's in the parent of this email. Can
> you send those as well?
> 
> Perhaps also expand a bit on exactly what you are running. File system,
> mount options, etc.

Alright, I managed to reproduce it. What I think is happening is that
BFQ is limiting the inflight case to something less than the wake
batch for sbitmap, which can lead to stalls. I don't have time to test
this tonight, but perhaps you can give it a go when you are back at it.
If not, I'll try tomorrow morning.

If this is the issue, I can turn it into a real patch. This is just to
confirm that the issue goes away with the below.

diff --git a/lib/sbitmap.c b/lib/sbitmap.c
index e6a9c06ec70c..94ced15b6428 100644
--- a/lib/sbitmap.c
+++ b/lib/sbitmap.c
@@ -272,6 +272,7 @@ EXPORT_SYMBOL_GPL(sbitmap_bitmap_show);
 
 static unsigned int sbq_calc_wake_batch(unsigned int depth)
 {
+#if 0
 	unsigned int wake_batch;
 
 	/*
@@ -284,6 +285,9 @@ static unsigned int sbq_calc_wake_batch(unsigned int depth)
 		wake_batch = max(1U, depth / SBQ_WAIT_QUEUES);
 
 	return wake_batch;
+#else
+	return 1;
+#endif
 }
 
 int sbitmap_queue_init_node(struct sbitmap_queue *sbq, unsigned int depth,

-- 
Jens Axboe

  reply	other threads:[~2018-05-09  1:09 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-07 14:03 bug in tag handling in blk-mq? Paolo Valente
2018-05-07 14:03 ` Paolo Valente
2018-05-07 16:39 ` Jens Axboe
2018-05-07 18:02   ` Paolo Valente
2018-05-07 18:02     ` Paolo Valente
2018-05-08  4:51     ` Mike Galbraith
2018-05-08  4:51       ` Mike Galbraith
2018-05-08  8:37       ` Mike Galbraith
2018-05-08  8:37         ` Mike Galbraith
2018-05-08 14:55         ` Jens Axboe
2018-05-08 14:55           ` Jens Axboe
2018-05-08 16:42           ` Mike Galbraith
2018-05-08 16:42             ` Mike Galbraith
2018-05-08 20:37             ` Jens Axboe
2018-05-08 21:19               ` Jens Axboe
2018-05-09  1:09                 ` Jens Axboe [this message]
2018-05-09  4:11                   ` Mike Galbraith
2018-05-09  4:11                     ` Mike Galbraith
2018-05-09  5:06                     ` Paolo Valente
2018-05-09  5:06                       ` Paolo Valente
2018-05-09 15:18                     ` Jens Axboe
2018-05-09 16:57                       ` Mike Galbraith
2018-05-09 16:57                         ` Mike Galbraith
2018-05-09 17:01                         ` Jens Axboe
2018-05-09 18:31                           ` Mike Galbraith
2018-05-09 18:31                             ` Mike Galbraith
2018-05-09 19:50                             ` Jens Axboe
2018-05-10  4:38                               ` Mike Galbraith
2018-05-10  4:38                                 ` Mike Galbraith
2018-05-09  5:09               ` Mike Galbraith
2018-05-09  5:09                 ` Mike Galbraith

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=57952405-bdeb-f4e4-1aef-a7c0a8a68674@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=efault@gmx.de \
    --cc=hch@lst.de \
    --cc=linus.walleij@linaro.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oleksandr@natalenko.name \
    --cc=paolo.valente@linaro.org \
    --cc=ulf.hansson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.