public inbox for linux-block@vger.kernel.org
 help / color / mirror / Atom feed
From: Ming Lei <ming.lei@redhat.com>
To: Yoav Cohen <yoav@nvidia.com>
Cc: Jens Axboe <axboe@kernel.dk>,
	"linux-block@vger.kernel.org" <linux-block@vger.kernel.org>,
	Uday Shankar <ushankar@purestorage.com>,
	Caleb Sander Mateos <csander@purestorage.com>
Subject: Re: [PATCH 2/3] ublk: add feature UBLK_F_QUIESCE
Date: Mon, 23 Jun 2025 10:13:33 +0800	[thread overview]
Message-ID: <aFi4TYy2q5BoaoPl@fedora> (raw)
In-Reply-To: <DM4PR12MB63285592EDAA9C03DB1D6BFCA974A@DM4PR12MB6328.namprd12.prod.outlook.com>

On Thu, Jun 12, 2025 at 12:04:39PM +0000, Yoav Cohen wrote:
> 
> Hi Ming,
> 
> So I know it's a radical situation but my only concern is that:
> 
> 0) On our application timeout of IO may be set to few minutes as it is goes over the network.
> 1) Let's assume we have 1 queue with QD=1.
> 2) the Only IO is in the userspace application but as we send the IOs over the network it may be stuck due to connectivy issues.
> 3) User trying to upgrade/stop the application so we issue Quiesce_DEV with infinite timeout as we want to ensure it works.
> 4) We are stuck now until network connection will recover or Our datapath will somehow Issue the COMMIT_AND_FETCH back to to the kernel so it we can get the ABORT later and QUICESE_DEV can finish.
> 
> Problem is that I don't want to wait for this IO until recovery but on the other end I don't want to complete the IO with error to the user.
> So on this case I guess we can abort the application or something but maybe it will be cleaner that on Quiesce_DEV will need to issue another SQE per queue or something so we can notify the application this way about it.
> 
> Anyway also on our case it will be super rare to happen where there is a queue without an idle operation + network is currently down but we try to be complete as possible.
> What do you think?

Hi Yoav,

The multishot approach for fetching io command should address the issue
wrt. single queue depth case:

https://github.com/ming1/linux/commits/ublk2-cmd-batch.v3/

In which there is always one multishot FETCH_IO_CMDS for notifying ublk
server for new io commands(requests) in batch way.


Thanks, 
Ming


  reply	other threads:[~2025-06-23  2:13 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-05-22 16:35 [PATCH 0/3] ublk: add UBLK_F_QUIESCE Ming Lei
2025-05-22 16:35 ` [PATCH 1/3] selftests: ublk: add test case for UBLK_U_CMD_UPDATE_SIZE Ming Lei
2025-05-22 16:35 ` [PATCH 2/3] ublk: add feature UBLK_F_QUIESCE Ming Lei
2025-06-05 12:37   ` Yoav Cohen
2025-06-06  9:54     ` Ming Lei
2025-06-08 10:20       ` Yoav Cohen
2025-06-08 14:34         ` Ming Lei
2025-06-12  8:17           ` Yoav Cohen
2025-06-12  9:15             ` Ming Lei
2025-06-12 12:04               ` Yoav Cohen
2025-06-23  2:13                 ` Ming Lei [this message]
2025-05-22 16:35 ` [PATCH 3/3] selftests: ublk: add test for UBLK_F_QUIESCE Ming Lei
2025-05-23 15:42 ` [PATCH 0/3] ublk: add UBLK_F_QUIESCE 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=aFi4TYy2q5BoaoPl@fedora \
    --to=ming.lei@redhat.com \
    --cc=axboe@kernel.dk \
    --cc=csander@purestorage.com \
    --cc=linux-block@vger.kernel.org \
    --cc=ushankar@purestorage.com \
    --cc=yoav@nvidia.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