Linux block layer
 help / color / mirror / Atom feed
From: Shinichiro Kawasaki <shinichiro.kawasaki@wdc.com>
To: Bart Van Assche <bvanassche@acm.org>
Cc: Omar Sandoval <osandov@fb.com>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>
Subject: Re: [PATCH blktests 2/3] Add I/O scheduler tests for queue depth 1
Date: Mon, 9 May 2022 10:56:10 +0000	[thread overview]
Message-ID: <20220509105609.lqq6ffmyib3i4ojx@shindev> (raw)
In-Reply-To: <deaf359d-584f-f328-0b0a-1f3ce0e0937e@acm.org>

On Apr 28, 2022 / 12:52, Bart Van Assche wrote:
> On 4/27/22 23:27, Shinichiro Kawasaki wrote:
> > On Apr 27, 2022 / 14:31, Bart Van Assche wrote:
> > > Some block devices, e.g. USB sticks, only support queue depth 1. The
> > > QD=1 code paths do not get tested routinely. Hence add tests for the
> > > QD=1 use case.
> > > 
> > > Signed-off-by: Bart Van Assche <bvanassche@acm.org>
> > 
> > I tried this new test case on recent Fedora kernel 5.16.20-200.fc35.x86_64 and
> > Intel Core i9 machine, then observed failure:
> > 
> > $ sudo ./check block/032
> > block/032 (test I/O scheduler performance of null_blk with queue_depth 1) [failed]
> >      bfq          679 vs 243: fail  ...  679 vs 252: fail
> >      kyber        542 vs 243: fail  ...  551 vs 252: fail
> >      mq-deadline  577 vs 243: fail  ...  572 vs 252: fail
> >      runtime      20.514s           ...  20.660s
> >      --- tests/block/032.out     2022-04-27 22:02:46.602861565 -0700
> >      +++ /home/shin/kts/kernel-test-suite/src/blktests/results/nodev/block/032.out.bad2022-04-27 23:18:48.470170788 -0700
> >      @@ -1,2 +1,2 @@
> >       Running block/032
> >      -Test complete
> >      +Test failed
> > 
> > I tried v5.18-rcX kernel versions and machines (QEMU or VMware) but the test
> > case failed on all of the trials. Do I miss anything to make the test case pass?
> 
> Hi Shinichiro,
> 
> The two tests added by this patch pass when using the legacy block layer
> (kernel v4.19) but not when using blk-mq. I see this as a (performance) bug
> in blk-mq. With blk-mq an excessive number of queue runs is triggered for
> QD=1 if multiple processes try to submit I/O concurrently.

Thanks. So we need the fix in blk-mq before we merge this test case to blktests.

-- 
Best Regards,
Shin'ichiro Kawasaki

  reply	other threads:[~2022-05-09 10:56 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-27 21:31 [PATCH blktests 0/3] Add QD=1 and gap zone tests Bart Van Assche
2022-04-27 21:31 ` [PATCH blktests 1/3] Introduce the io_schedulers() function Bart Van Assche
2022-04-28  3:50   ` Shinichiro Kawasaki
2022-04-28 19:53     ` Bart Van Assche
2022-04-27 21:31 ` [PATCH blktests 2/3] Add I/O scheduler tests for queue depth 1 Bart Van Assche
2022-04-28  6:27   ` Shinichiro Kawasaki
2022-04-28 19:52     ` Bart Van Assche
2022-05-09 10:56       ` Shinichiro Kawasaki [this message]
2022-04-27 21:31 ` [PATCH blktests 3/3] tests/scsi: Add tests for SCSI devices with gap zones Bart Van Assche
2022-04-28  0:39   ` Shinichiro Kawasaki
2022-04-28  3:16     ` Bart Van Assche

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=20220509105609.lqq6ffmyib3i4ojx@shindev \
    --to=shinichiro.kawasaki@wdc.com \
    --cc=bvanassche@acm.org \
    --cc=linux-block@vger.kernel.org \
    --cc=osandov@fb.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