linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ming Lei <tom.leiming@gmail.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: Bart Van Assche <bvanassche@acm.org>,
	linux-block <linux-block@vger.kernel.org>,
	Mike Snitzer <snitzer@redhat.com>
Subject: Re: for-next hangs on test srp/012
Date: Wed, 12 Dec 2018 08:19:04 +0800	[thread overview]
Message-ID: <CACVXFVObwybJ1hmekS_bJ05zrOawoG33MQDVda+W1ATa+SqNCw@mail.gmail.com> (raw)
In-Reply-To: <0688562b-7776-7efe-10dd-caf2a6a4f274@kernel.dk>

On Wed, Dec 12, 2018 at 8:04 AM Jens Axboe <axboe@kernel.dk> wrote:
>
> On 12/11/18 3:58 PM, Bart Van Assche wrote:
> > Hi Jens,
> >
> > If I run the following subset of blktests:
> >
> >   while :; do ./check -q srp && ./check -q nvmeof-mp; done
> >
> > against today's for-next branch (commit dd2bf2df85a7) then after some
> > time the following hang is reported:
> >
> > INFO: task fio:14869 blocked for more than 120 seconds.
> >       Not tainted 4.20.0-rc6-dbg+ #1
> > "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> > fio             D25272 14869  14195 0x00000000
> > Call Trace:
> >  __schedule+0x401/0xe50
> >  schedule+0x4e/0xd0
> >  io_schedule+0x21/0x50
> >  blk_mq_get_tag+0x46d/0x640
> >  blk_mq_get_request+0x7c0/0xa00
> >  blk_mq_make_request+0x241/0xa70
> >  generic_make_request+0x411/0x950
> >  submit_bio+0x9b/0x250
> >  blkdev_direct_IO+0x7fb/0x870
> >  generic_file_direct_write+0x119/0x210
> >  __generic_file_write_iter+0x11c/0x280
> >  blkdev_write_iter+0x13c/0x220
> >  aio_write+0x204/0x310
> >  io_submit_one+0x9c6/0xe70
> >  __x64_sys_io_submit+0x115/0x340
> >  do_syscall_64+0x71/0x210
> >  entry_SYSCALL_64_after_hwframe+0x49/0xbe
> >
> > When that hang occurs my list-pending-block-requests script does not show
> > any pending requests:
> >
> > # list-pending-block-requests
> > dm-0
> > loop0
> > loop1
> > loop2
> > loop3
> > loop4
> > loop5
> > loop6
> > loop7
> > nullb0
> > nullb1
> > sda
> > sdb
> > sdc
> > sdd
> > vda
> > vdb
> >
> > Enabling fail_if_no_path mode did not resolve the hang so I don't think
> > that the root cause is in any of the dm drivers used in this test:
> >
> > # dmsetup ls | while read dm rest; do dmsetup message $dm 0 fail_if_no_path; done; dmsetup remove_all; dmsetup table
> > 360014056e756c6c62300000000000000: 0 65536 multipath 0 1 alua 1 1 service-time 0 1 2 8:16 1 1
> >
> > The same test passes against kernel v4.20-rc6.
>
> What device is this being run on?

I saw this issue on usb storage too.

Seems it is introduced by commit ea86ea2cdced ("sbitmap: ammortize cost of
clearing bits"). When the IO hang happens, .cleared is 2, and .busy is 0 on
the sched_tag's sbitmap queue.

thanks,
Ming Lei

  parent reply	other threads:[~2018-12-12  0:19 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-11 22:58 for-next hangs on test srp/012 Bart Van Assche
2018-12-11 23:05 ` Mike Snitzer
2018-12-11 23:09   ` Bart Van Assche
2018-12-12  0:22     ` Mike Snitzer
2018-12-12  0:02 ` Jens Axboe
2018-12-12  0:18   ` Bart Van Assche
2018-12-12  0:19   ` Ming Lei [this message]
2018-12-12  0:27     ` Mike Snitzer
2018-12-12  0:38       ` Ming Lei
2018-12-12  1:05         ` Jens Axboe
2018-12-12  1:23           ` Jens Axboe
2018-12-12  1:36             ` Jens Axboe
2018-12-12  1:43               ` Ming Lei
2018-12-12  1:44                 ` Jens Axboe
2018-12-12  1:49                 ` Ming Lei
2018-12-12  2:03                   ` Ming Lei
2018-12-12  2:25                     ` Jens Axboe
2018-12-12  4:28                       ` Ming Lei
2018-12-12  1:37             ` Ming Lei
2018-12-12  1:39               ` Jens Axboe

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=CACVXFVObwybJ1hmekS_bJ05zrOawoG33MQDVda+W1ATa+SqNCw@mail.gmail.com \
    --to=tom.leiming@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=bvanassche@acm.org \
    --cc=linux-block@vger.kernel.org \
    --cc=snitzer@redhat.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).