All of lore.kernel.org
 help / color / mirror / Atom feed
From: Douglas Gilbert <dgilbert@interlog.com>
To: Kashyap Desai <kashyap.desai@broadcom.com>, linux-scsi@vger.kernel.org
Subject: Re: [PATCH v3 0/4] io_uring iopoll in scsi layer
Date: Tue, 2 Feb 2021 13:54:57 -0500	[thread overview]
Message-ID: <5b2635d9-da36-35e2-a62f-1fc8db34b334@interlog.com> (raw)
In-Reply-To: <b4e6f2c1dd0e9c6adc9b9de68d0f82c5@mail.gmail.com>

On 2021-02-02 5:32 a.m., Kashyap Desai wrote:
>> Hi,
>> I don't understand how this patchset works. My testing shows scsi_debug is
>> broken and I will be sending a correcting patch shortly (similar to the
>> one I
>> sent you on 20210108).
> 
> Hi Doug -
> 
> scsi_debug patch from this series works on my setup. I was under impression
> that you want this patch to be available in tree and on top of current
> patchset, you want to have further incremental update.
> What do you suggest ? Do you want me to wait for your updated patch OR We
> can ask Martin to pick all the patches except scsi_debug ? You can post
> scsi_debug changes as another series or separate patch.

Kashyap,
I did post a fixing patch titled: "[PATCH] scsi_debug: add new defer_type
for mq_poll" and cc-ed it to you.

At first I also thought your scsi_debug patch worked but on closer
examination it was falling through to the existing
delay_expired-event_generated model. It was only when I checked for
requests with REQ_HIPRI set and in those cases turned off the event
generation, that I saw it was not working.

Another way to tell if iopoll/blk_poll is really working is to turn off
the code that drives blk_poll(). What should happen in that case (due to
the mid layer) is that the command timeout (after 60 seconds?) should
cancel the command. If the command still manages to succeed normally
then iopoll is not really working.

> I have few more megaraid_sas patches in pipeline, so I am looking for this
> series to be available as baseline.

And on my side the most recent "[PATCH v15 00/45] sg: add v4 interface"
patchset [20210225] included "[PATCH v15 44/45] sg: add blk_poll support".
Jens accepted a patch to the fio sg engine to use the "hipri=1" option
to drive that new capability. This is an addition to the fio script
example that you sent using io_uring:

[global]
ioengine=io_uring
hipri=1
direct=1
runtime=3s
rw=randread
norandommap
bs=512

[seqprecon]
filename=/dev/sdb


Doug Gilbert


>> The scsi_debug driver is a simplified LLD that needs to know in advance
>> whether a request/command issued to it will be using the .mq_poll
>> callback.
>> Perhaps you have found another way but one simple way to find that out is
>> this test:
>>      if (request->cmd_flags & REQ_HIPRI)
>>
> 
> Agree. I am not very much familiar with scsi_debug code so used current code
> change as starting point and from there things can be improved.
> 
>> In the case of scsi_debug (after my patch) the delay associated with the
>> command is not wired up to generate an event which leads to completion.
>> Instead, callbacks through .mq_poll are expected and they will check if
>> that
>> delay has expired, if not the callback returns 0. When the delay has
>> expired
>> and a .mq_poll is received then completion occurs.
>>
>> Doug Gilbert
>>
>>> v3 ->
>>> - added reviewed-by tag
>>> - Fix comment provided by Hannes for below patch.
>>> https://patchwork.kernel.org/project/linux-scsi/patch/20201203034100.2
>>> 9716-3-kashyap.desai@broadcom.com/
>>> - Fix Functional issue of poll_queues settings not working in v2.
>>>
>>> v2 ->
>>> - updated feedback from v1.
>>> - added reviewed-by & tested-by tag
>>> - remove flood of prints in scsi_debug driver during iopoll
>>>     reported by Douglas Gilbert.
>>> - added new patch to support to get shost from hctx.
>>>     added new helper function "scsi_init_hctx"
>>>
>>> v1 ->
>>> Fixed warnings in scsi_debug driver.
>>> Reported-by: kernel test robot <lkp@intel.com>
>>>
>>> Kashyap Desai (4):
>>>     add io_uring with IOPOLL support in scsi layer
>>>     megaraid_sas: iouring iopoll support
>>>     scsi_debug : iouring iopoll support
>>>     scsi: set shost as hctx driver_data
>>>
>>>    drivers/scsi/megaraid/megaraid_sas.h        |   3 +
>>>    drivers/scsi/megaraid/megaraid_sas_base.c   |  87 +++++++++++--
>>>    drivers/scsi/megaraid/megaraid_sas_fusion.c |  42 ++++++-
>>>    drivers/scsi/megaraid/megaraid_sas_fusion.h |   2 +
>>>    drivers/scsi/scsi_debug.c                   | 130 ++++++++++++++++++++
>>>    drivers/scsi/scsi_lib.c                     |  29 ++++-
>>>    include/scsi/scsi_cmnd.h                    |   1 +
>>>    include/scsi/scsi_host.h                    |  11 ++
>>>    8 files changed, 291 insertions(+), 14 deletions(-)
>>>
>>>
>>> base-commit: a927ec3995427e9c47752900ad2df0755d02aba5
>>>


      reply	other threads:[~2021-02-02 18:57 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-01  5:16 [PATCH v3 0/4] io_uring iopoll in scsi layer Kashyap Desai
2021-02-01  5:16 ` [PATCH v3 1/4] add io_uring with IOPOLL support " Kashyap Desai
2021-02-01  5:16 ` [PATCH v3 2/4] megaraid_sas: iouring iopoll support Kashyap Desai
2021-02-01 15:06   ` Hannes Reinecke
2021-02-02 11:30     ` Kashyap Desai
2021-02-01  5:16 ` [PATCH v3 3/4] scsi_debug : " Kashyap Desai
2021-02-01  5:16   ` Kashyap Desai
2021-02-01  5:16 ` [PATCH v3 4/4] scsi: set shost as hctx driver_data Kashyap Desai
2021-03-01  7:30   ` Hannes Reinecke
2021-02-01 20:57 ` [PATCH v3 0/4] io_uring iopoll in scsi layer Douglas Gilbert
2021-02-02 10:32   ` Kashyap Desai
2021-02-02 18:54     ` Douglas Gilbert [this message]

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=5b2635d9-da36-35e2-a62f-1fc8db34b334@interlog.com \
    --to=dgilbert@interlog.com \
    --cc=kashyap.desai@broadcom.com \
    --cc=linux-scsi@vger.kernel.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.