From: Ming Lei <ming.lei@redhat.com>
To: Keith Busch <kbusch@kernel.org>
Cc: linux-nvme@lists.infradead.org, sagi@grimberg.me, hch@lst.de,
"Martin K. Petersen" <martin.petersen@oracle.com>,
ming.lei@redhat.com
Subject: Re: [PATCH] nvme-pci: calculate IO timeout
Date: Wed, 13 Oct 2021 23:34:33 +0800 [thread overview]
Message-ID: <YWb8iVY74vWZiMCU@T590> (raw)
In-Reply-To: <20211013022744.1357498-1-kbusch@kernel.org>
On Tue, Oct 12, 2021 at 07:27:44PM -0700, Keith Busch wrote:
> Existing host and nvme device combinations are more frequently capable
> of sustaining outstanding transfer sizes exceeding the driver's default
> timeout tolerance, given the available device throughput.
>
> Let's consider a "mid" level server and controller with 128 CPUs and an
> NVMe controller with no MDTS limit (the driver will throttle to 4MiB).
>
> If we assume the driver's default 1k depth per-queue, this can allow
> 128k outstanding IO submission queue entries.
>
> If all SQ Entries are transferring the 4MiB max request, 512GB will be
> outstanding at the same time with the default 30 second timer to
> complete the entirety.
>
> If we assume a currently modern PCIe Gen4 x4 NVMe device, that amount of
> data will take ~70 seconds to transfer over the PCIe link, not
> considering the device side internal latency: timeouts and IO failures
> are therefore inevitable.
PCIe link is supposed to be much quicker than handling IOs in device side,
so nvme device should have been saturated already before using up the
PCIe link, is there any event or feedback from nvme device side(host or
device) about the saturation status?
SCSI have such mechanism so that queue depth can be adjusted according
to the feedback, and Martin is familiar with this field.
Thanks,
Ming
next prev parent reply other threads:[~2021-10-13 15:35 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-13 2:27 [PATCH] nvme-pci: calculate IO timeout Keith Busch
2021-10-13 5:03 ` Christoph Hellwig
2021-10-13 10:53 ` Sagi Grimberg
2021-10-13 15:34 ` Ming Lei [this message]
2021-10-13 15:46 ` Martin K. Petersen
2021-10-13 15:53 ` Keith Busch
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=YWb8iVY74vWZiMCU@T590 \
--to=ming.lei@redhat.com \
--cc=hch@lst.de \
--cc=kbusch@kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=martin.petersen@oracle.com \
--cc=sagi@grimberg.me \
/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